- 线性布局 LinearLayout
- 相对布局 RelativeLayout
- 表格布局 TableLayout
- 绝对布局 AbsoluteLayout
- 网格布局 GridLayout
- 帧布局 FrameLayout
布局通用属性
属性名称 | 功能描述 |
android:id | 设置布局的标识 |
android:layout_width | 设置布局的宽度 |
android:layout_height | 设置布局的高度 |
android:background | 设置布局的背景 |
android:layout_margin | 设置当前布局与屏幕边界或与周围控件的距离 |
android:padding | 设置当前布局与该布局中控件的距离 |
android:minWidth | 设置视图最小宽度 |
android:minHeight | 设置视图最小高度 |
(一)线性布局 (LinearLayput)
线性布局是最常用的布局方式,可分为水平线性布局盒垂直线性布局
当垂直布局时,每一行就只有一个元素,多个元素一次垂直往下
当水平布局时,只有一行,没一个元素一次向右排列
特点:以水平或垂直方向排列
常用属性:
控件属性 | 功能描述 |
android:oriientation | 布局中组件的排列方式 (有horizontal水平布局和vertical垂直布局) |
android:gravity | 控制该组件在父容器里的对齐方式 |
android:layout_gravity | 控制该组件咋父容器里的对齐方式 |
android:layout_weight | 权重,用来等比例划分区域 |
android:divider | 分割线 |
android:showDividers | 设置分割线所在的位置none(无) beginning(开始) end(结束) minddle(每两个组件间) |
android:dividerPadding | 设置分割线的padding |
案例:
代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="权重1"
android:gravity="center"
android:background="#afdfe4"/>
<TextView
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="权重2"
android:gravity="center"
android:background="#94d6da"/>
<TextView
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:text="权重3"
android:gravity="center"
android:background="#78cdd1"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center"
android:background="#cde6c7">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第一个线性布局" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:g