美文网首页
布局相关

布局相关

作者: 吾是小马哥 | 来源:发表于2017-11-21 17:44 被阅读8次
    • 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的下方
    <TextView    
    android:id="@+id/tab_textview"    
    android:layout_below="@+id/tab_imageview"    
    android:layout_width="wrap_content"    
    android:layout_height="wrap_content"      
    />
    
    

    相关文章

      网友评论

          本文标题:布局相关

          本文链接:https://www.haomeiwen.com/subject/xobwvxtx.html