线性布局是一种非常常用的布局,它根据横向或者纵向排列控件,如果不设置横纵向,默认为横向排列
需要注意的是,如果排列方向是横向,内部的控件不能将宽设置为match_parenct,这样的话,单独一个控件就会将整个水平方向铺满,其它的控件就没有可放置的位置了,同样的道理,纵向的高度也不能设置为match_parenct
常用属性为:
android:orientation="vertical" ----垂直排列
android:orientation="horizontal" ----横向排列
子控件常用属性为:
android:layout_gravity="center" ----设置控件显示位置,这里为居中显示
需要注意的是,如果排列方式为横向,那么给子控件设置居中,其实是垂直居中,因为横向还会增加控件,它的长度一直在改变,所以是上下垂直居中,垂直排列也一样,居中方式为横向居中
android:layout_weight="1" ----设置权重
权重解释:
假设权重为1和1和2,那么分别显示为四分之一,四分之一,四分之二(填满整个屏占比,横向或纵向)
设置横向显示权重:
app:layout_constraintHorizontal_weight="1"
设置纵向显示权重:
app:layout_constraintVertical_weight="1"
(相同线性下,有未设置权重的,未设置权重在占用固定比例后,权重根据特有比例去占用剩余空间)