布局相关

  • padding和margin都是边距的含义,但二者边距的定义不同
padding是控件的内容相对控件的边缘的边距;
layout_margin是控件边缘相对父控件的边距。
  • layout_gravity / gravity
作用:用来确定View在Layout中的停靠位置
android gravity和layout_gravity区别:
gravity属性:是对该view 内容的位置的设置。
比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.
layout_gravity属性:是用来设置该view相对与父view 的位置。
比如一个button 在Linearlayout里,  
你可以通过设置该属性把该button放在父布局Linearlayout靠左靠右等位置。
各种Layout的特有属性
  • FrameLayout
作为最简单的Layout,只具备基础属性:
layout_width & layout_height
layout_margin+方位 & padding+方位
layout_gravity & gravity
  • AbsoluteLayout
除了基础属性外,AbsoluteLayout还具备:
layout_x:指定控件的x坐标
layout_y:指定控件的x坐标
上述属性的取值均为固定值。
  • TableLayout
除了基础属性外,由于TableLayout的行TableRow是一个横向的(horizontal)的LinearLayout,  
所以具备LinearLayout的属性

  • LinearLayout
除了基础属性,还会有:

orientation
1.作用:设置布局内控件的排列方式
2.取值:vertical(垂直排列-默认值)、horizontal(水平排列)
android:orientation="vertical";  
//android:orientation="horizontal";
layout_weight:
1.定义:是线性布局(Linelayout)的一个独特比例分配属性
2.作用:使用此属性设置权重,然后按照比例对界面进行空间的分配,  
计算是:控件宽度=控件设置宽度+剩余空间所占百分比宽幅.
参考:http://mobile.51cto.com/abased-375428.htm
  • RelativeLayout
RelativeLayout的属性算是最多的了,除了基本属性外,还有:
a. 相对于父空间:
      XML属性                          说明
layout_alignParentBottom    当前控件底端与父控件的底端对齐
layout_alignParentLeft      当前控件左端与父控件的左端对齐
layout_alignParentRight     当前控件右端与父控件的右端对齐
layout_alignParentTop       当前控件上端与父控件的上端对齐
layout_centerHorizontal     当前控件位于父控件的横向中间位置(水平方向上的中间)
layout_centerVertical       当前控件位于父控件的纵向中间位置(平面上的正中间)
layout_centerInParent       当前控件位于父控件的纵横向中间位置(垂直方向上的中间)
上述所有属性的取值皆为boolean属性:true、false。

b. 相对于给定控件:
    XML属性                             说明
layout_above                使当前控件位于给出id控件的上方
layout_below                使当前控件位于给出id控件的下方
layout_toLeftOf             使当前控件位于给出id控件的左侧
layout_toRightOf            使当前控件位于给出id控件的右侧
layout_alignBottom          使当前控件与给出id控件的底部部重合
layout_alignLeft            使当前控件与给出id控件的左边重合
layout_alignRight           使当前控件与给出id控件的右边重合
layout_alignTop             使当前控件与给出id控件的顶部重合
layout_alignBaseline        使当前控件的BaseLine与给出id控件t的BaseLine重合

上述所有属性的取值皆为给定控件的id名,如下例子:
//文本控件@+id/tab_textview在控件@+id/tab_imageview的下方


你可能感兴趣的:(布局相关)