五布局之线性布局 LinearLayout
理解线性布局
LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排布
属性:
1.android:orientation = “vertical”
该属性决定他子类控件的排布方式(vertical:垂直 ;horizontal:水平)
2.android:gravity = “center”
该属性决定他子类的xy的位置
属性值:
center_vertical 垂直(y轴)居中
center_horizontal 水平(X轴)居中
center 水平垂直都居中
right 子类控件位于当前布局的右边
left 子类控件位于当前布局的左边
bottom 子类控件位于当前布局的下面
3.子类控件在LinearLayout中常用到的属性
android:layout_gravity = “bottom”
指本身在当前父容器的XY的一个位置
android:layout_weight = “1”
指本身控件占当前父容器的一个比例
错题:
1.layout_gravity调整该布局相对父布局的位置
2.(判断题)一个orientation为horizontal的LinearLayout中有一个TextView,则设置TextView的layout_gravity属性为right是否有作用
解析
水平的LinearLayout要从左边开始依次放置布局,所以设置TextView的layout_gravity属性为right不起作用
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.adb.li806.demo6.MainActivity"
android:orientation="vertical"
android:weightSum="1">
<!--
gravity 注意属性值的多级联用。
android:gravity="bottom|center_horizontal"
-->
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button6"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Button" />
<!--
android:layout_gravity="center_horizontal"子控件的位置
android:layout_weight="1"
android:layout_height="wrap_content" android:layout_weight按正比走
android:layout_height="match_parent" android:layout_weight按反比走
-->
<!--布局是可以再套布局的。不能拖就手写代码-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="217dp"
android:orientation="horizontal"
android:weightSum="1"
android:layout_weight="0.33">
<Button
android:id="@+id/button9"
android:layout_width="124dp"
android:layout_height="wrap_content"
android:text="Button" />
<Button
android:id="@+id/button13"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:text="Button"
android:layout_weight="0.70" />
<Button
android:id="@+id/button12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
</LinearLayout>