android学习笔记(3)

五大布局

  1. LinearLayout 线性布局

    • android:orientation=”vertical/horizontal” 子类控件排列方式
      vertical 垂直
      horizontal 水平
    • android:gravity=”center/right/left…”子类控件位置
      center_horizontal 水平居中
      center_vertical 垂直居中
      可以同时设置多个属性,如bottom|center_horizontal,设置子类控件位于底部的中央
    • 子控件可以通过设置android:layout_orientationandroid:layout_gravity来控制位置
    • 子控件通过android:layout_weight来设置控件的占比。
      android:layout_weight真实含义是:一旦View设置了该属性(假设有效的情况下),那么该 View的宽度等于原有宽度(android:layout_width)加上剩余空间的占比!

      Google官方推荐,当使用weight属性时,将width设为0dip即可,效果跟设成wrap_content是一样的。这样weight就可以理解为占比了!

  2. RelativeLayout 相对布局

    全局属性


    • android:layout_alignParentLeft=”true” 子类控件相对当前父类容器靠左边
    • android:layout_alignParentTop=”true” 子类控件相对当前父类容器靠上边
    • android:layout_marginLeft=”41dp” 子类控件距离当前父类容器左边的距离
    • android:layout_marginTop=”41dp” 子类控件距离当前父类容器上边的距离
    • android:layout_centerInParent=”true” 子类控件相对当前父类容器水平垂直居中
    • android:layout_centerHorizontal=”true” 子类控件相对当前父类容器水平居中
    • android:layout_centerVertical=”true” 子类控件相对当前父类窗口垂直居中

    子控件属性


    • android:layout_below=”@+id/“ 该控件位于给定id控件的底部
    • android:layout_toRightOf=”@+id/“ 该控件位于给定id控件的右边
    • android:layout_above=”@+id/“ 该控件位于给定id的上面
    • android:layout_toLeftOf=”@+id/“ 该控件位于给定id的左边
    • android:layout_alignBaseline=”@+id/“ 该控件的内容与给定id控件的内容在一条线上
    • android:layout_alignBottom/android:layout_alignLeft/android:layout_alignRight/android:layout_alignTop 该控件的底部与给定id控件的[底部/左边/右边/顶部]边缘对齐
  3. FrameLayout 帧布局

  4. AbsoluteLayout绝对布局

    • 又叫坐标布局,可以直接指定子控件的绝对位置(xy)
    • android:layout_x/android:layout_y
  5. TableLayout 表格布局

    全局属性


    • TableLayout以行列的形式管理子控件,每一行为一个TableRow对象,也可以是一个View对象
    • android:collapseColumns=”1,2”隐藏从0开始的索引列,多列用逗号分隔
    • android:shrinkColumns=”1,2”收缩从0开始的索引列
    • android:stretchColumns=”1,2”拉伸从0开始的索引列,*表示所有列

    子控件属性


    • android:layout_column 第n列
    • android:layout_span 占据列宽
0%