UI设计中常用到的padding、margin和align,区别和运用;还有不同布局的对齐方式
边距
padding
- paddingXXX:对于当前组件而言,组件内的内容(如文本内容)距离当前组件XX位置(Top)的边距。
- android:paddingTop = “30px” :该组件内的文本内容距离组件内部上顶边距30px。
margin
- marginXXX:当前组件距离其父组件在XXX方向上的边距
align
- layout_alignXXX=“A”: 与指定组件(A)的XXX边缘对齐。
- layout_alignParentXXX = “true”:当前组件和其父组件的XXX位置对齐
对齐
1、LinearLayout
- android:gravity取值
top(bottom,left,right) | 不改变大小,位置位于容器的顶部 |
center_vertical | 不改变大小,位置位于容器的纵向中央部分 |
center_horizontal | 不改变大小,位置位于容器的横向中央部分 |
center | 不改变大小,位置位于容器的中央部分 |
fill_vertical(horizontal) | 可能的话,纵向延伸可以填满容器 |
fill | 可能的话,纵向和横向延伸填满容器 |
gravity和layout_gravity的不同处:
gravity是设置自身内部元素的对齐方式;如Textview设置其内部文字对齐,viewgroup组件设置其内部view组件对齐
layout_gravity相对于父元素(container),显示在父元素的什么位置。
- 对于在LinearLayout布局中;若设置了orientation为vertical(horizontal同理),则layout_gravity只有水平方向上的设置生效(left,right,center_horizontal)
2、RelativeLayout
- android:layout_align设置
android:layout_above(below) | 该控件的底部置于指定控件之上(之下) |
android:layout_toLeftOf | 该控件的右边缘和指定控件的左边缘对齐 |
android:layout_alignBaseline | 该控件的baseline和指定控件的baseline对齐 |
android:layout_alignBottom | 该控件的底部边缘和指定控件的底部边缘对齐 |