Android常用的五种界面布局

本文介绍了Android中常用的五种界面布局:RelativeLayout、LinearLayout、TableLayout、FrameLayout和ConstraintLayout。分别详细阐述了每种布局的特性和常用属性,如Relative布局的相对定位,Linear布局的线性排列,TableLayout的表格形式,FrameLayout的帧叠加,以及ConstraintLayout的约束定位。

Android常用的五种界面布局

布局的通用属性

Android系统提供的五种常用布局直接或者间接继承自ViewGroup,因此五种常用的布局也支持在ViewGroup中定义属性。

布局的通用属性
属性名称功能描述
android:id设置布局的标识
android:layout_width设置布局的宽度
android:layout_height设置布局的高度
android:background设置布局背景
android:layout_margin设置当前布局与屏幕边界或与周围控件的距离
android:padding设置当前布局与该布局中控件的距离

RelativeLayout相对布局

RelativeLayout(相对布局)通过相对定位的方式指定子控件的位置。

RelativeLayout中子控件的属性
属性名称功能描述
android:layout_centerInParent设置当前控件位于父布局的中央位置
android:layout_centerVertical设置当前控件位于父布局的垂直居中位置
android:layout_centerHorizontal设置当前控件位于父控件的水平居中位置
android:layout_above设置当前控件位于某控件上方
android:layout_below设置当前控件位于某控件下方
android:layout_toLeftOf设置当前控件位于某控件左侧
android:layout_toRightOf设置当前控件位于某控件右侧
android:layout_alignParentTop设置当前控件是否与父控件顶端对齐
android:layout_alignParentLeft设置当前控件是否与父控件左对齐
android:layout_alignParentRight设置当前控件是否与父控件右对齐
android:layout_alignParentBottom设置当前控件是否与父控件底端对齐
android:layout_alignTop设置当前控件上边界与某控件的上边界对齐
android:layout_alignBottom设置当前控件下边界与某控件的下边界对齐
android:layout_alignLeft设置当前控件左边界与某控件的左边界对齐
android:layout_alignRight设置当前控件右边界与某控件的右边界对齐

LinearLayout线性布局

LinearLayout(线性布局)通常指定布局内的子控件水平或者竖直排列

LinearLayout布局常用属性
属性名称功能描述
android:orientation设置布局内控件的排列顺序
android:layout_weight在布局内设置控件权重,属性值可直接写int值

TableLayout表格布局

TableLayout(表格布局)采用行、列的形式来管理控件,它不需要明确声明包括多少行、多少列,而是通过在TableLayout布局中添加TableRow布局或控件来控制表格的行数,可以在TableRow布局中添加控件来控制表格列数。

TableLayout布局的常用属性
属性名称功能描述
android:stretchColumns设置该列被拉伸
android:shrinkColumns设置该列被收缩
android:collapseColumns设置该列被隐藏
TableLayout布局中控件的常用的属性
属性名称功能描述
android:layout_columns设置该单元显示位置
android:layout_span设置该单元格占据几行,默认为1行

FrameLayout帧布局

FrameLayout(帧布局)用于在屏幕上创建一块空白区域,添加到该区域的每个子控件占一帧,这些帧会一个一个叠加在一起,后加入的控件会叠加在上一个控件上层。

FrameLayout属性
属性名称功能描述
android:foreground设置帧布局容器的前景图像(始终在所有子控件之上)
android:foregroundGravity设置前景图像显示的位置

ConstraintLayout约束布局

ConstraintLayout是Android Q Studio 2.2新添加的布局

相对定位关系的属性
属性名称功能描述
android:constraintLeft_toLeftOf控件的左边与另外一个控件的左边对齐
android:constraintLeft_toRightOf控件的左边与另外一个控件的右边对齐
android:constraintRight_toLeftOf控件的右边与另外一个控件的左边对齐
android:constraintRight_toRightOf控件的右边与另外一个控件的右边对齐
android:constraintTop_toTopof控件的上边与另外一个控件的上边对齐
android:constraintTop_toBottomOf控件的上边与另外一个控件的底边对齐
android:constraintBaseline_toBaselineOf控件间的文本内容基准线对齐
android:constraintStart_toEndOf控件的起始边与另外一个控件的尾部对齐
android:constraintStart_toStartOf控件的起始边与另外一个控件的起始边对齐
android:constraintEnd_toStartOf控件的尾部与另外一个控件的起始边对齐
android:constraintEnd_toEndOf控件的尾部与另外一个控件的尾部对齐
倾向的属性
属性名称功能描述
layout_constraintHorizontal_bias横向的倾向
layout_constraintVertical_bias纵向的倾向
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值