LinearLayout
LinearLayout重要属性
此处不区分大小写:
Android:layout_weight:描述子元素在剩余空间中占有的大小比例。加入一行只有一个文本框,那么它的默认值就为0,如果一行中有两个等长的文本框,那么他们的weight值就可以同为1,如果一行中有两个不等长的文本框,weight值可以是1和2,分别占三分之二和三分之一,即数值越小,占有越大
说明:在线性布局中,排列方式由android:orientation属性来控制,对齐方式由android:gravity属性来控制。
在Android中,可以在XML布局文件中定义线性布局管理器,也可以使用Java代码来创建(推荐使用前者)。
1. android:orientation属性
android:orientation属性用于设置布局管理器内组件的排列方式,其可选值为horizontal和vertical,默认值为vertical。其中,horizontal表示水平排列;vertical表示垂直排列。
2. android:gravity属性
android:gravity属性用于设置布局管理器内组件的对齐方式,其可选值包括top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical和clip_horizontal。这些属性值也
可以同时指定,各属性值之间用竖线隔开。例如,要指定组件靠右下角对齐,可以使用属性值right|bottom。
3. android:layout_width属性
android:layout_width属性用于设置组件的基本宽度,其可选值包括fill_parent、match_parent和wrap_content。其中,fill_parent表示该组件的宽度与父容器的宽度相同;match_paren与fill_parent的作用完全相同,从
Android 2.2开始推荐使用;wrap_content表示该组件的宽度恰好能包裹它的内容。
4. android:layout_height属性
android:layout_height属性用于设置组件的基本高度,其可选值包括fill_parent、match_parent和wrap_content。其中,fill_parent表示该组件的高度与父容器的高度相同;match_paren与fill_parent的作用完全相同,从
Android 2.2开始推荐使用;wrap_content表示该组件的高度恰好能包裹它的内容。
5. android:id属性
android:id属性用于为当前组件指定一个id属性,在Java代码中可以应用该属性单独引用这个组件。为组件指定id属性后,在R.java文件中,会自动派生一个对应的属性,在Java代码中,可以通过
findViewById()方法来获取它。
说明:android:layout_height属性是ViewGroup.LayoutParams所支持的XML属性,对于其他的布局管理器同样适用。
6. android:background属性
android:background属性用于为组件设置背景,可以是背景图片,也可以是背景颜色。为组件指定背景图片时,可以将准备好的背景图片复制到目录下,然后使用下面的代码进行设置:
android:background="@drawable/background"
如果想指定背景颜色,可以使用颜色值。例如,要想指定背景颜色为白色,可以使用下面的代码:
android:background="#FFFFFFFF"
说明:在线性布局中,还可以使用android.view.View类支持的其他属性,更加详细的内容可以参阅Android官方提供的API文档
<?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">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ff000000"
android:text="@string/hello"/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ff654321"
android:layout_weight="1"
android:text="1"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#fffedcba"
android:layout_weight="2"
android:text="2"/>
</LinearLayout>
</LinearLayout>