一、gravity属性和layout_gravity属性

1、共有属性值

属性值代表的含义
top,bottom位于其容器的顶部,底部
left,right位于其容器的左侧,右侧
center,fill居中,填满其容器
center_vertical垂直方向上居中对齐
center_horizontal水平方向上居中对齐
fill_vertical垂直方向填充
fill_horizontal水平方向填充
clip_vertical垂直方向裁剪,剪切基于其纵向对齐设置,顶部对齐时,剪切底部;底部对齐时剪切顶部;除此之外剪切顶部和底部
clip_horizontal水平方向裁剪,剪切基于其横向对齐设置,左侧对齐时,剪切右侧;右侧对齐时剪切左侧;除此之外剪切左侧和右侧

2、不同点

1)gravity属性是对view控件本身来说的,是用来设置控件本身的内容应该显示在该控件的什么位置。
例如:
在TextView中android:gravity=”right”表示TextView中文本在TexView的右侧。

2)layout_gravity属性是相对于包含该元素的父元素来说的,设置该元素在父元素的什么位置。
例如:
在TextView中android:layout_gravity=”center”表示TextView位于整个界面的中间。

注意:
对于LinearLayout,如果设置 android:orientation=”vertical”,那么layout_gravity的设置只在水平方向生效;如果设置 android:orientation=”horizontal”,那么layout_gravity属性只在垂直方向生效。


二、margin属性和padding属性

1、margin属性

margin一般用来描述子控件与父控件的位置关系,即外边距。
示例:
android:layout_marginLeft=”1dp”
android:layout_marginRight=”2dp”
android:layout_marginTop=”5dp”
android:layout_marginBottom=”10dp” //底部与父控件相距10dp

注意:
如果上下左右都是相同的设置则可以直接设置
android:layout_margin=”10dp” //上下左右与父控件相距10dp


2、padding属性

padding一般用来描述控件内容和控件的位置关系,即内边距。
示例:
android:padding_left=”1dp”
android:padding_Right=”2dp”
android:padding_Top=”5dp”
android:padding_Bottom=”10dp” //控件内容与控件底部相距10dp

注意:
如果上下左右都是相同的设置则可以直接设置
android:padding=”5dp” //控件内容上下左右均与控件边框相距5dp

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐