android布局管理器

android四种布局管理方法:
1.线性布局线性布局是将放入其中的组件按照垂直或水平方向来布局,也就是控制放入其中的组件横向排列或纵向排列。在线性布局中,每一行(针对垂直排列)或每一列(针对水平排列)中只能放一个组件。并且Android的线性布局不会换行,当组件一个挨着一个排列到窗体的边缘后,剩下的组件将不会被显示出来。
在Android中,可以在XML布局文件中定义线性布局管理器,也可以使用Java代码来创建。推荐使用在XML布局文件中定义线性布局管理器。在XML布局文件中定义线性布局管理器,需要使用标记,其基本的语法格式如下:

<LinerLayout xmlns:android="http:..schemas.android.com/apk/res/android
android:orientation="vertical"
android:gravity="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background"
android:id="@+id/XXXX"
">
</Linerlayout>

android:orientation属性用于设置布局管理器内组件的排列方式。选值为horizontal水平和vertical竖直。
android:gravity属性用于设置布局管理器内组件的对齐方式,其可选值包括top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、center、fill、clip_vertical、clip_horizontal这些属性也可以同时指定,个属性之间用竖线|隔开例如右上角 right|top。
android:layout_width 用于设置组件的基本宽度。属性值:fill_parent和父控件同宽 match_parent和父控件同宽wrap_parent宽度正好包裹住内容。
android:layout_height设置组件的基本高度,属性值:fill_parent 、match_parent、wrap_content
android:id属性用于为当前组件指定一个id属性,在java代码中应用该属性单独应用这个组件,为组建制定id后,在R.java中就会自动派生出一个对应的属性,在java代码中,可以通过findViewById()方法获取。
android:background属性用于为组件设置背景,可以选择背景图片或者是背景颜色如:android:background=”@drawable/background”

android:background=”#FFFFFFFF”
2 表格布局
表格布局与常见的表格类似,它以行、列的形式来管理放入其中的UI组件。表格布局使用标记定义,在表格布局中,可以添加多个标记,每个标记占用一行,由于标记也是容器,所以在该标记中还可添加其他组件,在标记中,每添加一个组件,表格就会增加一列。在表格布局中,列可以被隐藏,也可以被设置为伸展的,从而填充可利用的屏幕空间,也可以设置为强制收缩,直到表格匹配屏幕大小。
注意 :在表格布局中直接向中添加UI组件,那么该组件将独占一行。
继承了,因此它完全支持LinerLayout的全部XML属性,当然还有三个自己本身的属性
android:collapseColumns设置被隐藏的列的列序号(从0 开始),多个序列号之间用逗号“,”隔开。
android:shrinkColumns设置允许被收缩的列的列序号(从0 开始),多个序列号之间用逗号“,”隔开。
android:stretchColumns设置允许被拉伸的列的列序号(从0 开始),多个序列号之间用逗号“,”隔开。
如代码中部分:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout android:id="@+id/tableLayout1"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/background_a"
    android:gravity="center_vertical"
    android:stretchColumns="0,3"    
    >
    <!-- 第一行 -->
    <TableRow android:id="@+id/tableRow1" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <TextView/>
        <TextView android:text="用户名:" 
            android:id="@+id/textView1" 
            android:layout_width="wrap_content"
            android:textSize="24px" 
            android:layout_height="wrap_content"
            />
        <EditText android:id="@+id/editText1" 
            android:textSize="24px" 
            android:layout_width="wrap_content" 
            android:layout_height="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:text="密    码:" 
            android:id="@+id/textView2" 
            android:textSize="24px" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"/>
        <EditText android:layout_height="wrap_content" 
            android:layout_width="wrap_content" 
            android:textSize="24px" 
            android:id="@+id/editText2" 
            android:inputType="textPassword"/>
        <TextView />
    </TableRow>
    <!-- 第3行 -->
    <TableRow android:id="@+id/tableRow3" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <TextView/>
        <Button android:text="登录" 
            android:id="@+id/button1" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"/>
        <Button android:text="退出" 
            android:id="@+id/button2" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"/>
        <TextView />
    </TableRow>
</TableLayout>

3 帧布局
在帧布局管理器中,每加入一个组件,都将创建一个空白的区域,通常称为一帧,这些帧都会根据gravity属性执行自动对齐。默认情况下,帧布局是从屏幕的左上角(0,0)坐标点开始布局,多个组件层叠排序,后面的组件覆盖前面的组件。
在XML布局文件中,定义帧布局管理器可以使用标记,其基本的语法格式如下:

< FrameLayout xmlns:android=”http://schemas.android.com/apk/res/android”
属性列表
>

帧布局的支持的XML属性:
android:foreground设置该布局容器额前景图像
android:foregroungGravity定义绘制前景图像的gravity属性,即前景图象的显示位置。
代码:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
     android:id="@+id/frameLayout1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:background="@drawable/background"
     android:foreground="@drawable/icon"
     android:foregroundGravity="bottom|right"
     >
     <!-- 添加居中显示的红色背景的TextView,将显示在最下层  -->
    <TextView android:text="红色背景的TextView"
     android:id="@+id/textView1" 
     android:background="#FFFF0000"
     android:layout_gravity="center"
     android:layout_width="400px" 
     android:layout_height="400px"/>
     <!-- 添加居中显示的橙色背景的TextView,将显示在中间层  -->     
    <TextView android:text="橙色背景的TextView" 
    android:id="@+id/textView2" 
    android:layout_width="300px" 
    android:layout_height="300px"
    android:background="#FFFF6600"
    android:layout_gravity="center"
    />
     <!-- 添加居中显示的黄色背景的TextView,将显示在最上层  -->
    <TextView android:text="黄色背景的TextView" 
    android:id="@+id/textView3" 
    android:layout_width="200px" 
    android:layout_height="200px"
    android:background="#FFFFEE00"
    android:layout_gravity="center"
    />     
</FrameLayout>

4 相对布局
XML属性 描述
android:layout_above 其属性值为其他UI组件的id属性,用于指定该组件位于哪个组件的上方
android:layout_alignBottom 其属性值为其他UI组件的id属性,用于指定该组件与哪个组件的下边界对齐
android:layout_alignLeft 其属性值为其他UI组件的id属性,用于指定该组件与哪个组件的左边界对齐
android:layout_alignParentBottom 其属性值为boolean值,用于指定该组件是否与布局管理器底端对齐
android:layout_alignParentLeft 其属性值为boolean值,用于指定该组件是否与布局管理器左边对齐
android:layout_alignParentRight 其属性值为boolean值,用于指定该组件是否与布局管理器右边对齐
android:layout_alignParentTop 其属性值为boolean值,用于指定该组件是否与布局管理器顶端对齐
android:layout_alignRight 其属性值为其他UI组件的id属性,用于指定该组件与哪个组件的右边界对齐
android:layout_alignTop 其属性值为其他UI组件的id属性,用于指定该组件与哪个组件的上边界对齐
android:layout_below 其属性值为其他UI组件的id属性,用于指定该组件位于哪个组件的下方
android:layout_centerHorizontal 其属性值为boolean值,用于指定该组件是否位于布局管理器水平居中的位置
android:layout_centerInParent 其属性值为boolean值,用于指定该组件是否位于布局管理器的中央位置
android:layout_centerVertical 其属性值为boolean值,用于指定该组件是否位于布局管理器垂直居中的位置
android:layout_toLeftOf 其属性值为其他UI组件的id属性,用于指定该组件位于哪个组件的左侧
android:layout_toRightOf 其属性值为其他UI组件的id属性,用于指定该组件位于哪个组件的右侧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值