线性布局是最简单的布局,容器内控件沿着单条直线排布,支持水平排列、垂直排列两种模式。
通过属性 android:orientation 设置排列方向:
android:orientation="horizontal":水平排列android:orientation="vertical":垂直排列
布局示例 axml
<?xml version="1.0" encoding="utf-8"?>
<!-- 垂直方向线性布局 -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="12dp">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮2"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮3"/>
</LinearLayout>Code language: HTML, XML (xml)
水平排列示例
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="B"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="C"/>
</LinearLayout>Code language: HTML, XML (xml)
orientation是 LinearLayout 的核心属性,不设置默认是horizontal水平;vertical:从上到下依次摆放控件;horizontal:从左到右依次摆放控件;- 支持布局嵌套,LinearLayout里面可以再放LinearLayout实现复杂界面。
<?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"
android:minWidth="25px"
android:minHeight="25px">
<!-- 水平线性布局,占屏幕上半部分,权重1 -->
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
<TextView
android:text="Column1"
android:gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"/>
<TextView
android:text="Column2"
android:gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"/>
<TextView
android:text="Column3"
android:gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"/>
</LinearLayout>
<!-- 垂直线性布局,占屏幕下半部分,权重1 -->
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
<TextView
android:text="row1"
android:textSize="15pt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<TextView
android:text="row2"
android:textSize="15pt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<TextView
android:text="row3"
android:textSize="15pt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>Code language: HTML, XML (xml)

Previous: 表单控件
Next: 相对布局 RelativeLayout