Android五大布局

在这里插入图片描述
1.LinearLayout
线程布局是按照水平或垂直的顺序将子元素依次按照顺序排序。每个顺序是位于前面一个元素之后,即控件在XML中的顺序就是显示时控件的顺序。
*注:
权重: 对控件设置 android:layout_weight的属性。这个属性的意思是分配剩余空间。
我们一般将控件的宽度或者高度设置为0dp(至于是宽度还是高度就是看布局是水平还是垂直了)。这里我先说简单的。比如有两个个控件,分别设置为android:layout_weight=“1”,android:layout_weight=“2”,表示控件分别占屏幕的1/3和2/3,。不过这是有一个前提的,就是建立在控件的宽度或者高度设置为0dp的情况下。

权重分配的公式如下:
控件1的宽度或者高度所占比=控件1的权重值/控件1+控件2的权重值之和
控件2的宽度或者高度所占比=控件2的权重值/控件1+控件2的权重值之和

适用场景:按顺序排列的,几等分比例的。
不适应场景:两个空间之间有很大空隙的布局,任意指定位置的。

2.FrameLayout
框架布局,所有的控件都会放置在左上角,如果不止一个控件,后添加的控件将会覆盖之前的控件。
适用场景:开发中作为容器使用,用于动态添加布局对象。

3.RelativeLayout
按照子元素的相对位置完成布局。
注:
相对布局的参照控件必须在被参照控件的后面
android:layout_below在某个控件的下方
android:layout_above在某个控件的上方
android:layout_toLeftOf在某个控件的左边
android:layout_toRightOf在某个控件的右边
android:layout_alignTop本控件的上边缘和某个控件的上边缘对齐
android:layout_alignBottom本控件的下边缘和某个控件的下边缘对齐
android:layout_alignLeft本控件的左边缘和某个控件的左边缘对齐
android:layout_alignRight本控件的右边缘和某个控件的右边缘对齐
应用场景:控件之间有位置依赖关系

4.AbsoluteLayout
绝对布局,根据确定的坐标来固定控件位置。
绝对布局中的子元素通过android:layout_x和android:layout_y属性来确定子元素的位置。屏幕左上角的坐标为(0,0);layout_x为横坐标,横向向右为正;layout_y为纵坐标,纵向向下为正。
适用场景:不常用,屏幕适配不好

5.TableLayout
表格布局,每个TableLayout是由多个TableRow组成,一个TableRow表示TableLayout的一行,一行又可以由多个子元素的组成。
但是TableRow的参数android:orientation属性值固定为horizontal,且android:layout_width=MATCH_PARENT,android:layout_height=WRAP_CONTENT。所以TableRow实际是一个横向的线性布局。
值得注意的是:列和行下标是从0开始的
特殊属性:collapseColumns:隐藏列,多个列之间逗号隔开
stretchColumns:设置某个列是可伸展的。
shrinkColumns :可收缩的
android:layout_colum:设置控件在具体的列
android:layout_span:设置控件所跨越的列数
使用场景:表格形式的数据展示

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值