属性
ID
android:id="@+id/my_button"
@id表示/后面的是一个id字符串资源,而+表示这是一个不存在的id,需要创建;当引用android id资源时不用+号,只需加android:前缀
android:id="@android:id/empty"
Layout参数
命名为layout_something的xml layout属性定义了view的layout参数,而且对它所在的viewgroup也适用。
每个ViewGroup类都实现了一个继承了ViewGroup.LayoutParams的嵌套类,那个子类包含了为每个子View定义size和position的属性。如下图所示,每个父View group都定义了子View的layout参数:
要注意每个LayoutParams 子类都为设置值定义了自己的语法,每个子元素必须为它parent定义适合的LayoutParams ,尽管它也许可能为它孩子定义不同的LayoutParams 。(fill_parent (renamed match_parent in API Level 8) )
Layout位置
View有自己的位置,由一对坐标左和上表示,有两个维度,用宽和高表示,他们的单位都是像素。
Size, Padding and Margins
View的size由宽和高表示,其实它包含了两对宽和高的值。
第一对就是我们所知的measured width和height,,这些维度定义了view在它parent里面多大,measured维度可以通过调用 getMeasuredWidth() and getMeasuredHeight()获得。
第二对就是width和height,有时也称作drawing width和height,这些维度定义了view在屏幕上的实际大小,这些值也许和measured width和高不同。宽和高可以通过调用getWidth() and getHeight()获取。
为了获取它的维度,view会把自己的padding也算进去,padding也就是view上下左右的部分,padding可以通过特定量的像素用来填补内容。
即使view可以定义padding,但它不提供对margin的任何支持,然而,viewgroup提供。