Android的五种布局方式

LinearLayout:线性布局

     线性布局类似于div段落,分为水平(vertical)和垂直(horizontal)分布,通过orientation属性设置。

     layout_width和layout_height分别表示布局长度和高度,有三种属性可以选择:

     fill_parent:充满父窗体

     match_parent:同fill_parent,但使用率较高

     wrap_content:自适应大小

     例如:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"  //宽度充满父窗体
    android:layout_height="fill_parent" //高度充满父窗体
    android:orientation="vertical">     //水平分布
</LinearLayout>
      与div段落相同,布局方式也可以相互套用,例如:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"  //宽度充满父窗体
    android:layout_height="fill_parent" //高度充满父窗体
    android:orientation="vertical">    //水平分布
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"  //自适应大小
        android:text="请输入身份证号码:"
        android:textSize="50px"/>      
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="right">   //向右侧靠拢
        <EditText              
            android:id="@+id/Input_ID"
            android:layout_width="800px"
            android:layout_height="wrap_content"/>   //文本输入控件
        <Button
            android:id="@+id/Search"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="查询"
            android:onClick="Search_onClick"/>  //按钮
    </LinearLayout>
    <TextView
        android:id="@+id/Text1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text=""/>  //文本输出控件
</LinearLayout>

Android的五种布局方式_第1张图片


FrameLayout:框架布

AbsoluteLayout:绝对布局

     相当于position属性指定为绝对位置(absolute)的div段落,其中所有控件位置均由X,Y坐标指定,例如:

      layout_width_x:20dp

      layout_width_y:20dp

      // dp 是密度比单位,不同于像素单位px,对于屏幕尺寸多种多样的安卓手机来说,用像素来确定位置已然无法满足需求,像素比的出现很好的解决了这一问题。 

RelativeLayout:相对布局

    使用率较高的一种布局方式,通过控件与其他控件位置关系来布局,例如:

    ↓在RelativeLayout中套用LinearLayout来实现一个底部菜单栏的布局效果↓

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"  //使位于线性布局中的控件横向居中排列
        android:background="#C0C0C0"  //设置线性布局的背景颜色
        android:layout_alignParentBottom="true">  //使线性布局位于其父窗体的底部,即屏幕最下端
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="null" //设置按钮背景色为透明
            android:text="按钮1"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="null"
            android:text="按钮2"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="null"
            android:text="按钮3"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="null"
            android:text="按钮4"/>
    </LinearLayout>
</RelativeLayout>

Android的五种布局方式_第2张图片

   除相对于父窗体的底端之外,还存在顶端,居中,居左和居右等等属性,另外还有相对于单个控件的上下左右四个方向等等,这里不一一列举,请自行查阅相关属性。

TableLayout:表格布局

你可能感兴趣的:(安卓布局,安卓学习)