线性布局管理器用LinearLayout类来表示。线性布局管理器会将组件一个一个排列起来。线性布局管理器中的组件不会自动换行,如果组件排列超出了Activity的范围,超出范围的组件将不会被显示。
1 组件排列方向
通过线性布局管理器的属性android:orientation可以控制组件排列的方向(横向或者纵向)。
在Android Studio中创建创建一个新的项目,由于该项目默认的布局管理器是相对布局管理器,所以需要创建新的线性布局管理器。
1.1 添加线性布局管理器
将该文件的“Root element”设置为“LinearLayout”,“File name”设置为“activity_linear”,如图1所示
1.2 在项目中使用线性布局管理器
在创建项目时,MainActivity类onCreate()方法中已经自动添加了对默认的相对布局管理器使用的代码。
setContentView(R.layout.activity_main);
其中,setContentView()方法的作用是为Activity指定布局管理器,R.layout.activity_main是默认的相对布局管理器的对应的文件。
在项目中使用在“1.1 添加线性布局管理器”中添加的线性布局管理器,只需将setContentView()方法的参数替换为线性布局管理器对应的文件即可。
setContentView(R.layout.activity_linear);
1.3 设置组件排列的方向
1.3.1 向布局管理器中添加组件
接下来向“1.1 添加线性布局管理器”中添加的线性布局管理器中添加3个Button组件。在activity_linear.xml文件中,添加如下代码
<LinearLayout
.......>
<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>
以上代码的功能是在线性布局管理器中添加了3个Button组件,这3个Button显示的内容分别是“按键1”、“按键2”和“按键3”。
1.3.2 设置Button组件的排列方向
通过设置线性布局管理器的“android:orietation”属性来设置其包含的组件的排列方向。该属性的值有“horizontal”和“vertical”两个值,分别表示水平方向和垂直方向。在activity_linear.xml文件中,通过设置LinearLayout的属性来设置排列方向。
<LinearLayout
android:orientation="horizontal"
.......
>
.........
</LinearLayout>
以上代码将3个Button组件的排列方向设置为水平,其效果如图2所示。
<LinearLayout
android:orientation="vertical"
.......
>
.........
</LinearLayout>
以上代码将3个Button组件的排列方向设置为垂直,其效果如图3所示。
2 设置“组件群”的起始位置
将线性布局管理器中的所有组件看成“组建群”,则可以通过线性布局管理器的“android:gravity”属性设置“组件群”的起始位置。
<LinearLayout
android:orientation="horizontal"
android:gravity="bottom"
>
.........
</LinearLayout>
以上代码的作用是将组件的起始位置设置为了“底部”,其效果如图4所示。
图4 组件的起点为底部
“android:gravity”属性值也可以是多个值的组合
<LinearLayout
android:orientation="vertical"
android:gravity="right|center_vertical"
>
.........
</LinearLayout>
以上代码的作用是将组件的起点设置为Activity的右侧、垂直方向中点位置处,其效果如图5所示。
图5 组件的起点为右侧中间位置