gravity与layout_gravity的区别
①区别:
android:gravity="xxx"用于设置这个View内的所有子元素相对于这个View的对齐方式,而
android:layout_gravity="xxx"用于设置这个View在其父容器中,View相对于其父容器的对齐方式
②二者的属性及其含义:
两个的属性都是相同,他们的含义如下表:
属性值 | 属性作用及说明 |
top | 不改变显示对象的大小,对齐到窗口的顶部 |
bottom | 不改变显示对象的大小,对齐到窗口的底部 |
left | 不改变显示对象的大小,对齐到窗口的左侧 |
right | 不改变显示对象的大小,对齐到窗口的右侧 |
center_horizontal | 不改变显示对象的大小,对齐到容器水平中央位置 |
center_vertical | 不改变显示对象的大小,对齐到容器垂直中央位置 |
center | 不改变显示对象的大小,对齐到容器的中央位置 |
clip_vertical | 标志裁剪对象在其容器中沿垂直轴的边界,需要多少剪裁多少 |
clip_horizontal | 标志剪切对象在其容器中沿水平轴的边界,需要多少剪裁多少 |
fill_vertical | 若有必要,垂直拉伸以填满容器,水平尺寸不变 |
fill_horizontal | 若有必要,水平拉伸以填满容器,垂直尺寸不变 |
fill | 若有必要,水平、垂直拉伸以填满容器 |
start | 将对象推至其所在容器X轴起点的位置而不改变其尺寸 |
end | 将对象推至其所在容器X轴结束的位置而不改变其尺寸 |
表中属性值可以结合使用,比如要表示右下,可以直接用
android:layout_gravity="right|bottom"
③是否是五种布局以及五种布局内子控件(TextView、EditText、Button等)的属性
| gravity | layout_gravity |
线性布局 |
|
|
线性布局内子控件 |
|
|
相对布局 |
|
|
相对布局内子控件 |
| × |
帧布局 | × |
|
帧布局内子控件 |
|
|
表格布局 |
|
|
表格布局内子控件 |
|
|
绝对布局 | × |
|
绝对布局中子控件 |
| × |
“×”表示没有,没写表示有