线性布局:竖直、水平(默认)方向线性排列布局
竖直、水平的方向设定
设置竖直、水平的方向设定
属性
android:orientation
horizontal则为水平方向布局,设置为vertical则是竖直方向布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!--android:orientation属性设置为horizontal则为水平方向布局,设置为vertical则是竖直方向布局-->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:text="1"></TextView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:text="2"></TextView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:text="3">></TextView>
</LinearLayout>
权重
设置线性布局内部元素所占线性布局的比例
属性
android:layout_weight
第一个TextView占领除剩余元素外的所有空间
<?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="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="30sp"
android:background="#ff0000"
android:layout_weight="1"
android:text="1"
></TextView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:background="#00ff00"
android:text="2"
></TextView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:background="#0000ff"
android:text="3"></TextView>
</LinearLayout>
三元素平分空间
<?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="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#ff0000"
android:text="1"
android:textSize="30sp"></TextView>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#00ff00"
android:text="2"
android:textSize="30sp"></TextView>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#0000ff"
android:text="3"
android:textSize="30sp"></TextView>
</LinearLayout>
控件摆放位置
调整控件摆放位置
属性
android:layout_gravity
水平布局时,设置为left、right不会起作用
<?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="horizontal">
<TextView
android:layout_gravity="bottom"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#ff0000"
android:text="1"
android:textSize="30sp"></TextView>
<TextView
android:layout_gravity="center"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#00ff00"
android:text="2"
android:textSize="30sp"></TextView>
<TextView
android:layout_gravity="top"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#0000ff"
android:text="3"
android:textSize="30sp"></TextView>
</LinearLayout>
竖直布局时,bottom、top不会起作用
<?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">
<TextView
android:layout_gravity="left"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#ff0000"
android:text="1"
android:textSize="30sp"></TextView>
<TextView
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#00ff00"
android:text="2"
android:textSize="30sp"></TextView>
<TextView
android:layout_gravity="right"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#0000ff"
android:text="3"
android:textSize="30sp"></TextView>
</LinearLayout>