Android LinearLayout布局

来源:互联网 发布:淘宝买家秀卖家秀搞笑 编辑:程序博客网 时间:2024/05/23 12:02

Android LinearLayout布局

线性布局(LinearLayout)将子视图元素以线性方式显示。

1、线性方向

orientation:horizontal代表水平方向,vertical代表垂直方向。
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="match_parent"    android:layout_height="match_parent">    <!-- 水平线性排列 -->    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal">        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="horizontal1"            android:background="@color/red"/>        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="horizontal2"            android:background="@color/green"/>        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="horizontal3"            android:background="@color/blue"/>    </LinearLayout>    <!-- 垂直线性排列 -->    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="vertical">        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="vertical1"            android:background="@color/red"/>        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="vertical2"            android:background="@color/green"/>        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="vertical3"            android:background="@color/blue"/>    </LinearLayout></LinearLayout>
显示如下

2、布局按比率分配空间

weight:按一定比率分配。
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="match_parent"    android:layout_height="match_parent">    <!-- 水平线性排列,比例为1:1:2 -->    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal">        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="horizontal1"            android:background="@color/red"/>        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="horizontal2"            android:background="@color/green"/>        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="2"            android:text="horizontal3"            android:background="@color/blue"/>    </LinearLayout>    <!-- 垂直线性排列,比例为1:1:2 -->    <LinearLayout        android:layout_width="match_parent"        android:layout_height="200dp"        android:orientation="vertical">        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="vertical1"            android:background="@color/red"/>        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="vertical2"            android:background="@color/green"/>        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="2"            android:text="vertical3"            android:background="@color/blue"/>    </LinearLayout>    <!-- 如果只有一个元素设置了weight值,充满剩余空间 -->    <View        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_weight="1"        android:background="@color/red"/></LinearLayout>
显示如下

3、对齐方式

layout_gravity:设置元素本身的位置
gravity:设置元素子元素的位置

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="match_parent"    android:layout_height="match_parent">    <!-- 在父元素里面设置gravity,所有子元素显示相同对齐方式 -->    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:gravity="right"        android:orientation="vertical">        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="textview1"            android:background="@color/red"/>        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="textview2"            android:background="@color/green"/>        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="textview3"            android:background="@color/blue"/>    </LinearLayout>    <!-- 在子元素里面设置layout_gravity,子元素显示不同对齐方式 -->    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="vertical">        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_gravity="right"            android:text="gravity_right"            android:background="@color/red"/>        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_gravity="center"            android:text="gravity_center"            android:background="@color/green"/>        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_gravity="left"            android:text="gravity_left"            android:background="@color/blue"/>    </LinearLayout>    <!-- 在TextView里面设置gravity,文字显示不同对齐方式 -->    <TextView        android:layout_width="100dp"        android:layout_height="40dp"        android:gravity="right|top"        android:text="gravity_right"        android:background="@color/red"/>    <TextView        android:layout_width="100dp"        android:layout_height="40dp"        android:gravity="center_vertical"        android:text="gravity_center"        android:background="@color/green"/>    <TextView        android:layout_width="100dp"        android:layout_height="40dp"        android:gravity="left|bottom"        android:text="gravity_left"        android:background="@color/blue"/></LinearLayout>
显示如下

0 0
原创粉丝点击