1. LinearLayout类
线性布局(LinearLayout
)将子视图以线性方式显示。主要属性
orientation
,horizontal
代表水平方向,vertical
代表垂直方向weight
,按一定比例分配。计算完剩余视图后,按比例分配。
最外层LinearLayout
为垂直布局,而第一个子控件时水平布局,最后三个子控件按1:2:3
分配高度
<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">
<View
android:layout_width="100dp"
android:layout_height="20dp"
android:background="@color/red"/>
<View
android:layout_width="100dp"
android:layout_height="20dp"
android:background="@color/green"/>
<View
android:layout_width="100dp"
android:layout_height="20dp"
android:background="@color/blue"/>
</LinearLayout>
<!-- 垂直线性排列 -->
<View
android:layout_width="100dp"
android:layout_height="0dp"
android:background="@color/blue"
android:layout_weight="1"/>
<View
android:layout_width="100dp"
android:layout_height="0dp"
android:background="@color/green"
android:layout_weight="2"/>
<View
android:layout_width="100dp"
android:layout_height="0dp"
android:background="@color/red"
android:layout_weight="3"/>
</LinearLayout>
效果如下
2. Gravity对齐
gravity
常用来指定对齐方式,
layout_gravity
,设置子视图在父视图中的位置
设置LinearLayout
中子类的layout_gravity
属性,默认是left
。
效果如下<LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <View android:layout_width="100dp" android:layout_height="40dp" android:background="@color/red" /> <View android:layout_width="100dp" android:layout_height="40dp" android:background="@color/green" android:layout_gravity="center"/> <View android:layout_width="100dp" android:layout_height="40dp" android:background="@color/blue" android:layout_gravity="right"/> </LinearLayout>
gravity
,设置父视图内部子视图的对齐方式
设置LinearLayout
的Gravity
属性,默认是left
。
效果如下<LinearLayout 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="vertical"> <View android:layout_width="100dp" android:layout_height="40dp" android:background="@color/red"/> <View android:layout_width="100dp" android:layout_height="40dp" android:background="@color/green"/> <View android:layout_width="100dp" android:layout_height="40dp" android:background="@color/blue"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center"> <View android:layout_width="100dp" android:layout_height="40dp" android:background="@color/red"/> <View android:layout_width="100dp" android:layout_height="40dp" android:background="@color/green"/> <View android:layout_width="100dp" android:layout_height="40dp" android:background="@color/blue"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="right"> <View android:layout_width="100dp" android:layout_height="40dp" android:background="@color/red"/> <View android:layout_width="100dp" android:layout_height="40dp" android:background="@color/green"/> <View android:layout_width="100dp" android:layout_height="40dp" android:background="@color/blue"/> </LinearLayout> </LinearLayout>
相关文章
Android LinearLayout布局
Android RelativeLayout布局
Android ConstraintLayout布局
Android 自定义布局