布局方式

LinearLayout

  • 线性布局
  • layout_gravity属性是表示的当前控件在布局中的位置
  • gravity属性表示的是文字在空间中的对齐方式
  • layout_weight属性允许使用比例方式来指定控件的大小,划分的是未分配的空间,因此指定控件宽度为0,可以平均比例分配空间宽度
  • padding内部离开
    margin外部离开
    gravity View本身属性,代表的是该View内容的放置位置
    layout_gravity 是LinearLayout布局文件的属性,代表的是该控件在父控件中的放置位置
    weight比重 将父控件的剩余空间按比例分配
    weightSum比重总份数 控件可以只分配其中的一部分,比如说10份,但是只分配5份出去

RelativeLayout

  • 相对布局
  • 相对父布局的对齐方式:layout_centerInParent和layout_alignParentLeft/Top/Right/Bottom
  • 相对其它控件的对齐方式:layout_above(在一个控件的上方)/below和layout_toLeftOf、layout_toRightOf
  • 相对于控件定位的对齐方式:layout_alignLeft表示让一个控件的左边缘和另一个控件的左边缘对齐,alignRight/Top/Bottom也是如此。

FrameLayout

  • 绝对布局
  • 将所有的控件都放置在布局的左上角,控件会重叠

TableLayout

  • 表格布局
  • 在布局文件中,一个表示一个表格中的一行,并且其中的空间无法指定宽度
  • 在对应的空间中设置layout_span=“n”,表示让该控件占据对应n列的空间
  • 在总布局中设置属性stretchColumns可以将对应列的长度拉伸,已达到自适应屏幕宽度的作用

  • 注意0代表第一列,1代表第二列,以此类推
    这里写图片描述

GridLayout

  • 跨行跨列的布局方式
    这里写图片描述

        //对应0的布局写法
        <Button
            android:layout_column="0"
            android:layout_columnWeight="1"
            android:layout_width="86dp"
            android:layout_height="48dp"
            android:background="@drawable/switch_btn"
            android:layout_row="5"
            android:layout_columnSpan="2"   //这两句完成跨列的操作
            android:layout_gravity="fill"   //很重要
            android:text="0" />
        //对应等号的布局写法
        <Button
            android:layout_column="3"
            android:layout_columnWeight="1"
            android:layout_width="86dp"
            android:layout_height="48dp"
            android:layout_row="4"
            android:layout_rowSpan="2"
            android:background="@drawable/switch_btn"
            android:layout_gravity="fill"
            android:text="=" />

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