Google公布Android L预览版本源代码
不久前的Google I/O大会上刚刚推出的Android L,据称是Google历史上最深入的版本更新。如今最新版Android L的源代码已经公布了。
不久前的Google I/O大会上刚刚推出的Android L,据称是Google历史上最深入的版本更新。如今最新版Android L的源代码已经公布了。
Android中自定义ViewGroup最重要的就是onMeasure和onLayout方法,都需要重写这两个方法,ViewGroup绘制 的过程是这样的:
当我们的布局第一个子控件是edittext时,那么进入这个页面时,edittext会默认获得焦点使得键盘弹出,网上有许多解决办法,无法外乎监听事件,取消键盘等待,其实比较靠谱的办法是在edittext的父级控件中设置两条属性:
当xcode 5发布后,相比之前的版本变化很大,大家可能会有一些疑问:

在Objective-C中,指令
[objc] @class XYPoint; [/objc]
和
[objc] #import "XYPoint.h" [/objc]
作用是一样的。
但是使用@class指令提高了效率,因为编译器不需要处理整个XYPoint.h文件(虽然它很小);而只需要知道XYPoint是一个类的名字。如果需要引用XYPoint类中的方法,@class指令是不够的,因为编译器需要更多消息。它需要知道该方法中有多少参数、它们是什么类型、方法的返回类型是什么。这时候就需要使用#import了。
id数据类型可存储任何类型的对象。在objc中,id相当于c++里面的(void*)类型,相当于Java里面的object类型。
从某种意义来说,它是一般对象类型。例如:
关键字self用来指明对象是当前方法的接收者。相当于Java中的this。
self代表当前对象对自身的引用。
使用方法如下:
[objc] [self function]; [/objc]
在变量声明前加上关键字static,可以使局部变量保留多次调用一个方法所得的值。如下:
[objc] static int hitCount = 0; [/objc]
声明整数hitCount是一个静态变量。和其他常量局部变量不同,静态变量的初始值为0,所以前面显示的初始化是多余的。此外,他们只在程序开始执行时初始化一次,并且在多次调用方法时保存这些数值。
Objective-C语言允许你使用非常简便的语法访问属性。要获得myFraction中存储的numerator的值,可使用下面的语句:
[objc] Fraction* myFraction = [[Fraction alloc] init]; [myFraction numerator]; [/objc]