Android-使用线性布局管理器布局

来源:互联网 发布:国外域名交易平台 编辑:程序博客网 时间:2024/06/05 18:44

Android中的线性布局管理器用LinearLayout表示,它是将放入其中的组件按照垂直或水平方向来布局,也就是控制放入其中的组件横向排列或纵向排列。

在Android中,可以在XML布局文件中定义线性布局管理器,也可以使用JAVA代码来创建,推荐使用XML布局文件定义。

在线性布局管理器中,常用的属性包括:
android:orientation,android:gravity,android:layout_width,android:layout_height,android:id,android:background.其中前两个是线性布局管理器支持的属性,后面4个是android:view.View和android.view.ViewGroup支持的属性。

Android:orientation属性用于设置布局管理器内组件的排列方式,其可选值为horizontal和vertical,默认值为vertical。horizontal表示水平排序,veritical表示垂直排序Android:gravity属性用于设置布局管理器内组件的对齐方式,这些属性值可以同时指定也可以单独指定,同时指定时需要用竖线在各属性之间隔开。Android:background属性Android:backgound属性用于为该组件设置背景。可以是背景图片,也可以是背景颜色。为组件指定背景图片时,可以将准备好的背景图片复制到目录下,然后使用下面的代码进行设置。

实现过程:
修改项目的res/layout/main.xml文件,在默认添加的垂直线性布局管理器中添加两个嵌套的,然后设置第一个的排序方式为水平排列,在其中添加4个水平并排的TextView组件,并分别设置TextView组件的文本对齐方式;设置第二个的排序方式为垂直排序,并在其中添加4个垂直并排的TextView组件。修改后的代码如下:

<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:layout_width="wrap_content"            android:layout_height="fill_parent"            android:text="红色"            android:layout_gravity="center"            android:background="#aa0000"            android:layout_weight="1"            />        <TextView             android:layout_width="wrap_content"            android:layout_height="fill_parent"            android:text="蓝色"            android:background="#0000aa"            android:layout_gravity="top|center"            android:layout_weight="1"            />        <TextView             android:layout_width="wrap_content"            android:layout_height="fill_parent"            android:text="黄色"            android:background="#aaaa00"            android:layout_gravity="bottom|center"            android:layout_weight="1"            />        <TextView             android:layout_width="wrap_content"            android:layout_height="fill_parent"            android:text="绿色"            android:background="#00aa00"            android:layout_gravity="fill_vertical"            android:layout_weight="1"            />    </LinearLayout>    <LinearLayout         android:orientation="vertical"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:layout_weight="1">        <TextView             android:layout_width="wrap_content"            android:layout_height="fill_parent"            android:text="第一行"            android:layout_weight="1"            />          <TextView             android:layout_width="wrap_content"            android:layout_height="fill_parent"            android:text="第二行"            android:layout_weight="1"            />            <TextView             android:layout_width="wrap_content"            android:layout_height="fill_parent"            android:text="第三行"            android:layout_weight="1"            />              <TextView             android:layout_width="wrap_content"            android:layout_height="fill_parent"            android:text="第四行"            android:layout_weight="1"            />    </LinearLayout></LinearLayout>

Android:layout_weight属性:
该属性用来设置组件的占用空间,比如在线性布局中添加3个TextView组件,他们的android:layout_weight属性分别设置为2,1,1,则他们所占的空间分别为1/2,1/4和1/4.

0 0