布局管理器

布局管理器

  
     Android中提供了线性布局(LinearLayout)、表格布局管理器(TableLayout)、帧布局管理器(FrameLayout)、相对布局管理器(RelativeLayout)和绝对布局管理器(AbsoluteLayout)(过时)

1.线性布局(LinearLayout)

   线性布局是将放入其中的组件按照垂直或水平方向来布局。每一行(垂直)或每一列(水平)只能放一个组件并且你会换行。超出的组件将不会显示出来。

  android:orientation属性:用于设置布局内组件的排列方式,起可选为horizontal(水平排列)和vertical(垂直排列)。


  android:gravity属性:对齐方式,其值包括top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical和clip_horizontal.这些属性也可以同时指定,个属性之间用竖线隔开,如right|bottom。右下。
  
  android:layout_width属性:宽度。其值包括fill_parent、match_parent和wrap_content.前两个都表示该组件的宽度与父容器的宽的一样。wrap_content表示该组件的宽度恰好能包裹他的内容。

  android:layout_height属性:高度。其值包括fill_parent、match_parent和wrap_content.前两个都表示该组件的高度与父容器的宽的一样。wrap_content表示该组件的高度恰好能包裹他的内容。

       android:id属性用于为当前组件指定一个id属性,在Java代码中可以应用该属性单独应用这个组件。为组件指定id属性后,在Java文件中,会自动派生一个对应的属性,在Java代码中,可以提过findViewById()方法来获取它。
   
    android:background属性 设置背景图片/颜色。
    android:background="@drawable/background"
    android:background="#FFFFFF"


2.表格布局管理器(TableLayout)

  XML属性:
android:collapseColumns———设置需要被隐藏的列的序列号(序列号从0开始),多个序列号直接用逗号“,”分隔。
android:shrinkColumns———设置需要被收缩的列的序列号(序列号从0开始),多个序列号直接用逗号“,”分隔。
android:stretchColumns———设置需要被拉伸的列的序列号(序列号从0开始),多个序列号直接用逗号“,”分隔。

  
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".MainActivity"
    android:stretchColumns="0,3"
    android:id="@+id/layout"
    >

    <!--第一行-->
    <TableRow android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        >
        <TextView />
        <TextView
            android:id="@+id/textView1"
            android:text="用户名:"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="24px"
            />
        <EditText
            android:id="@+id/editText1"
            android:textSize="24px"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:minWidth="200px"
            />
        <TextView />
    </TableRow>
    <TableRow android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        >
        <TextView />
        <TextView
            android:id="@+id/textView2"
            android:text="密码:"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="24px"
            />
        <EditText
            android:id="@+id/editText2"
            android:textSize="24px"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:minWidth="200px"
            />
        <TextView />
    </TableRow>
    <TableRow
        android:id="@+id/tableRow3"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        >
        <TextView />
        <Button android:id="@+id/button1"
            android:text="登陆"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"></Button>
        <Button android:id="@+id/button2"
            android:text="退出"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"></Button>
        <TextView />
        </TableRow>

</TableLayout>

3.帧布局管理器(FrameLayout)

  在帧布局管理器中,每加入一个组件,都将创建一个空白的区域,通常称为一帧,这些帧都会很据gravity属性执行自动对齐。默认情况下,帧布局从屏幕的左上角(0,0)坐标开始布局,多个组件层叠排序,后面的组件覆盖前面的组件。

  XML属性
 android:foreground--  设置该帧布局容器的前景图像。
 android:foregroundGravity--  定义绘制前景图像的gravity属性,即前景图片显示位置。

4.相对布局管理器(RelativeLayout)

  相对布局是指按照组件之间的相对位子来进行布局,如某个组件在另一个组件的左边、右边、上边或下边等。
  XML属性:
  android:gravity---用于设置布局管理器中的各子组件的对齐方式。
  android:ignoreGravity--用于指定那个组件不受gravity的影响。

  为了个更好的控制该布局管理器中的各子组件的布局分布,RelativeLayout提供了一个内部类RelativeLayout.LayoutParams,提供该类的属性可以很好的控制相对布局管理器中的各组的分布方式。

  RelativeLayout.LayoutParams支持的常用XML属性。
  


  android:layout_above:其属性值为其他UI组件的id属性,用于指定该组件于哪个组件的上方

  android:layout_below:其属性值为其他UI组件的id属性,用于指定该组件位于哪个组件的下方

  android:layout_toLeftOf:其属性值为其他UI组件的id属性,用于指定该组件位于哪个组件的左侧

  android:layout_toRightOf:其属性值为其他UI组件的id属性,用于指定该组件位于哪个组件的右侧

  android:layout_alignBottom:其属性值为其他UI组件的id属性,用于指定该组件与哪个组件的下边界对齐

  android:layout_alignLeft:其属性值为其他UI组件的id属性,用于指定该组件与哪个组件的左边界对齐

  android:layout_alignRight:其属性值为其他UI组件的id属性,用于指定该组件与哪个组件的右边界对齐

  android:layout_alignTop:其属性值为其他UI组件的id属性,用于指定该组件与哪个组件的上边界对齐

  android:layout_alignParentBottom:其属性值为boolean值,用于指定该组件是否与布局管理器底端对齐

  android:layout_alignParentLeft:其属性值为boolean值,用于指定该组件是否与布局管理器左边对齐

  android:layout_alignParentRight:其属性值为boolean值,用于指定该组件是否与布局管理器右边对齐

  android:layout_alignParentTop:其属性值为boolean值,用于指定该组件是否与布局管理器顶端对齐

  android:layout_centerHorizontal:其属性值为boolean值,用于指定该组件是否位于布局管理器水平居中的位置。

  android:layout_centerVertical:其属性值为boolean值,用于指定该组件是否位于布局管理器垂直居中的位置。

  android:layout_centerInParent:其属性值为boolean值,用于指定该组件是否位于布局管理器的中央位置


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