Android 七大布局属性总结

1.线性布局

线性布局(LinearLayout),将其中的控件在线性方向上依次排列,通过android:orientation属性指定其控件的排列方向,默认横向排列

属性描述
android:orientation=“vertical”纵向排列,每行仅包含一个界面元素
android:orientation=“horizontal”横向排列,每列仅包含一个界面元素

基本属性:

属性描述
android:layout_margin=“10dp”外边距
android:layout_padding=“10dp”内边距

2.相对布局

相对布局(RelativeLayout),利用控件之间的相对位置关系来进行布局,控件与父容器、控件与其他控件之间的相对关系

true属性位置控制:

属性描述
android:layout_centerHorizontal如果为true,将该控件的置于水平居中
android:layout_centerVertical如果为true,将该控件的置于垂直居中
android:layout_centerInParent如果为true,将该控件的置于父控件的中央
android:layout_alignParentTop如果为true,将该控件的顶部与其父控件的顶部对齐
android:layout_alignParentBottom如果为true,将该控件的底部与其父控件的底部对齐
android:layout_alignParentLeft如果为true,将该控件的左部与其父控件的左部对齐
android:layout_alignParentRight如果为true,将该控件的右部与其父控件的右部对齐

给定ID位置控制:

属性描述
android:layout_below=“@id/view_1”将该控件置于"@id/view_1"控件下边
android:layout_above=“@id/view_1”将该控件置于"@id/view_1"控件上边
android:layout_toLeftOf=“@id/view_1”将该控件置于"@id/view_1"控件的左边
android:layout_toRightOf =“@id/view_1”将该控件置于"@id/view_1"控件的右边
android:layout_alignTop =“@id/view_1”将该控件的顶部边缘与"@id/view_1"顶部边缘对齐
android:layout_alignBottom =“@id/view_1”将该控件的底部边缘与"@id/view_1"底部边缘对齐
android:layout_alignLeft =“@id/view_1”将该控件的左边缘与给定ID的左边缘对齐
android:layout_alignRight =“@id/view_1”将该控件的右边缘与给定ID的右边缘对齐

3.帧布局

帧布局(FrameLayout),这个布局直接在屏幕上开辟出一块空白的区域,当我们往里面添加控件的时候,会默认把他们放到这块区域的左上角,而这种布局方式却没有任何的定位方式,所以它应用的场景并不多;帧布局的大小由控件中最大的子控件决定,如果控件的大小一样大的话,那么同一时刻就只能看到最上面的那个组件!后续添加的控件会覆盖前一个,虽然默认会将控件放置在左上角,但是我们也可以通过layout_gravity属性,指定到其他的位置!

帧布局的属性只有两个特有的:

属性描述
android:foreground设置改帧布局容器的前景图像
android:foregroundGravity设置前景图像显示的位置

前景图像:永远处于帧布局最上面,直接面对用户的图像,就是不会被覆盖的图片。

4.绝对布局

绝对布局(AbsoluteLayout),通过指定界面元素的坐标位置,来确定用户界面的整体布局。

通过X轴和Y轴确定界面元素位置后,Android系统不能够根据不同屏幕对界面元素的位置进行调整了。

属性描述
android:layout_x控制组件X坐标
android:layout_y控制组件y坐标

5.表格布局

表格布局(TableLayout),适用于N行N列的布局格式。一个TableLayout由许多TableRow组成,一个TableRow就代表TableLayout中的一行。

全局属性:

属性描述
android:stretchColumns设置可伸展的列,该列可以向行方向伸展,最多可占据一整行
android:shrinkColumns设置可收缩的列
android:collapseColumns设置要隐藏的列

单元格属性:

属性描述
android:layout_column指定该单元格在第几列显示
android:layout_span指定该单元格占据的列数(未指定时,为1)

6.网格布局

网格布局(GridLayout),类似于表格布局,是Android 4.0及以上版本新增加的布局,使用虚细线将布局划分为行、列和单元格,也支持一个控件在行、列上都有交错排列。

属性描述
android:rowCount=“4”设置网格布局有4行
android:columnCount=“4”设置网格布局有4列
android:layout_row = “0”设置组件位于第1行
android:layout_column = “2”设置该组件位于第3列
android:layout_rowSpan = “2”纵向合并2行
android:layout_columnSpan = “3”横向横跨2列

7.约束性布局

约束性布局(ConstraintLayout),是Google在2016年的I/O大会上推出来的一个新的布局,根据布局中其他元素或视图,确定View在屏幕中的位置,受到其他视图、父容器和基准线三类约束。现在用的也越来越多了!!

相对定位:

属性描述
app:layout_constraintLeft_toLeftOf=“@id/view_1”将该控件的左边约束到"@id/view_1"的左边
app:layout_constraintLeft_toRightOf将该控件的左边约束到"@id/view_1"的右边
app:layout_constraintRight_toLeftOf将该控件的右边约束到"@id/view_1"的左边
app:layout_constraintRight_toRightOf将该控件的右边约束到"@id/view_1"的右边
app:layout_constraintTop_toTopOf将该控件的上边约束到"@id/view_1"的上边
app:layout_constraintTop_toBottomOf将该控件的上边约束到"@id/view_1"的下边
app:layout_constraintBottom_toTopOf将该控件的下边约束到"@id/view_1"的上边
app:layout_constraintBottom_toBottomOf将该控件的下边约束到"@id/view_1"的下边
app:layout_constraintBaseline_toBaselineOf将该控件的与"@id/view_1"对齐(大小不一致时用)
app:layout_constraintStart_toEndOf将该控件开始位置约束到"@id/view_1"结束位置
app:layout_constraintStart_toStartOf将该控件开始位置约束到"@id/view_1"开始位置
app:layout_constraintEnd_toStartOf将该控件结束位置约束到"@id/view_1"开始位置
app:layout_constraintEnd_toEndOf将该控件结束位置约束到"@id/view_1"结束位置

角度定位:

app:layout_constraintCircle="@+id/tv_1"
app:layout_constraintCircleAngle="135"(角度)
app:layout_constraintCircleRadius="100dp"(距离)

就是tv_2的中心在tv_1的中心的135度,距离为100dp
请添加图片描述

尺寸约束:

当控件的高度或宽度为wrap_content时,可以使用以下属性来控制最大、最小的高度或宽度

属性描述
android:minWidth最小的宽度
android:minHeight最小的高度
android:maxWidth最大的宽度
android:maxHeight最大的高度
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟圣美

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值