Android开发之——布局实例

布局分类为:

LinearLayout:

TableLayout:

android:id : 为控件制定相应的ID

android:text : 指定控件显示的文字,PS: 尽量使用string.xml, 便于维护

android:grivity :指定控件的位置, 比如说居中

android:textsize :指定控件字体大小

android:background :指定控件所使用的背景颜色

android:width : 指定控件的宽度

android:height : 指定控件的高度

android:padding : 指定控件的内边距

android:sigleLine : 设置是否单行显示

实例: 在一个线性布局内设置两个layout, 上面的垂直显示, 下面的水平显示

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation=" vertical" >  //总的布局是水平显示
    <LinearLayout
        android:orientation="horizontal"  //本布局内是垂直显示, 即按列显示
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        >
        <TextView
            android:text=" @string/red"
            android:gravity="center_horizontal"
              android:background="#aa0000"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
               android:layout_weight="1"
        />
        <TextView
          android:text="@ string/green"
          android:gravity="center_horizontal"
          android:background="#00aa00"
          android:layout_width="wrap_content"
          android:layout_height="fill_parent"
          android:layout_weight="1"/>
      <TextView
          android:text="@ string/blue"
          android:gravity="center_horizontal"
          android:background="#0000aa"
          android:layout_width="wrap_content"
          android:layout_height="fill_parent"
          android:layout_weight="1"/>
      <TextView
          android:text="@ string/yellow"
          android:gravity="center_horizontal"
          android:background="#aaaa00"
          android:layout_width="wrap_content"
          android:layout_height="fill_parent"
          android:layout_weight="1"/>
    </LinearLayout>
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />
    <LinearLayout
        android:orientation="vertical"  //本布局内是水平显示, 即一行一行
         android:layout_width="fill_parent"
           android:layout_height="fill_parent"
        android:layout_weight="1">
        <TextView
            android:text="@ string/row_one"
            android:textSize="15pt"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
        <TextView
            android:text="@ string/row_two"
            android:textSize="15pt"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
        <TextView
            android:text="@ string/row_three"
            android:textSize="15pt"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
        <TextView
            android:text="@ string/row_four"
            android:textSize="15pt"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
       </LinearLayout>

</LinearLayout>

实例: 先设置总的布局为水平的, 然后设置上下面的布局都为垂直的,下面的布局添加一个TableLayout,

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"   //总的为线性布局, 切是水平方向, 即按行

    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="horizontal" //此处为垂直方向
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1">
        <TextView
            android:text="red"
            android:gravity="center_horizontal"
            android:background="#aa0000"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_weight="1" />
        <TextView
            android:text="green"
            android:gravity="center_horizontal"
            android:background="#00aa00"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_weight="1" />
        <TextView
            android:text="blue"
            android:gravity="center_horizontal"
            android:background="#0000aa"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_weight="1" />
        <TextView
            android:text="yellow"
            android:gravity="center_horizontal"
            android:background="#aaaa00"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_weight="1" />
    </LinearLayout>
    <LinearLayout
        android:orientation="horizontal" //此处为垂直方向
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1">
        <TableLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:stretchColumns="0">
            <TableRow>  //设置行
                <TextView
                    android:text="@string/row1_column1"
                    android:padding="3dip" />
                <TextView
                    android:text="@string/row1_column1"
                    android:padding="3dip"
                    android:gravity="center_horizontal">
                    </TextView>
                <TextView
                    android:text="@string/row1_column2"
                    android:gravity="right"
                    android:padding="3dip" />
            </TableRow>
            <TableRow>//设置行
                <TextView
                    android:text="@string/row2_column1"
                    android:padding="3dip" />
                <TextView
                    android:text="@string/row2_column2"
                    android:gravity="right"
                    android:padding="3dip" />
            </TableRow>
        </TableLayout>
    </LinearLayout>
</LinearLayout>

RelativeLayout 实例:

<?xml version="1.0" encoding="utf-8"?>
<!--
        两个挨着的控件,没有嵌套
        android:layout_above 将该控件的底部至于给定ID的控件之上    
        android:layout_below 将该控件的顶部至于给定ID的控件之下    
        android:layout_toLeftOf 将该控件的右部边缘和给定的ID的控件的左部边缘对齐        
        android:layout_toRightOf 将该控件的左部边缘和给定的ID的控件的右部边缘对齐
        两个嵌套的控件, 比如说大框套小框
        android:layout_alignBaseline 该控件的baseline和给定的ID的控件的baseline对齐
        android:layout_alignBottom 将该控件的底部边缘与给定的ID控件的底部边缘        
        android:layout_alignLeft 将该控件的左部边缘与给定的ID控件的左部边缘对齐
        android:layout_alignRight 将该控件的右部边缘与给定的ID控件的右部边缘对齐
        android:layout_alignTop 将该控件的顶部边缘与给定的ID控件的顶部边缘对齐
        
        android:alignParentBottom 如果该值为true, 则将该控件的底部和父控件的底部对齐
        android:layout_alignParentLeft 如果该值为true, 则将该控件的左部与父控件的左部对齐
        android:layout_alignParentRight 如果该值为true, 则将该控件的右部与父控件的右部对齐
        android:layout_alignParentTop 如果该值为true, 则将该控件的顶部与父控件的顶部对齐
        
        android:layout_centerHorizontal 如果该值为true, 则将该控件至于水平方向的中央
        android:layout_centerInParent 如果该值为true,则将该控件至于父控件水平方向和垂直方向的中央
        android:layout_centerVertical 如果该值为true, 则将该控件至于垂直方向的中央
    -->

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:padding="10px" >
    <TextView android:id="@+id/label"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:text="Type here:" />
    <EditText android:id="@+id/entry"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:background="@android:drawable/editbox_background"
              android:layout_below="@id/label" />
    <Button android:id="@+id/ok"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/entry"
            android:layout_alignParentRight="true"
            android:layout_marginLeft="10px"
            android:text="OK" />
    <Button android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toLeftOf="@id/ok"
            android:layout_alignTop="@id/ok"
            android:text="Cancel" />
</RelativeLayout>


你可能感兴趣的:(Android开发之——布局实例)