常见的布局:
绝对布局:AbsoluteLayout
相对布局:RelativeLayout
线性布局:LinearLayout
帧布局:FrameLayout
表格布局:TableLayout,TableLayout是LinearLayout的子类。
网格布局:GridLayout
约束布局:ConstraintLayout,相对布局的升级
LinearLayou线性布局—基本属性
LinearLayout是ViewGroup子类
1、 android:layout_width : 定义控件的宽度
可选项:fill_parent / match_parent/ wrap_content/绝对数值
2、 android:layout_height : 定义控件的高度
可选项:fill_parent / match_parent/ wrap_content/绝对数值
3、会按照android:orientation的属性对子View排序 默认水平方向
可选项:vertical(垂直方向) 、horizontal(水平方向)
4、android:id : 设置控件id。这样就可以在R.java中自动生成相应的值,在程序中通过findViewById就 可以调用。
设置id的格式为:android:id = "@+id/id的名字"
LinearLayout特有的属性——android:layout_weight
它表示比重的意思,可实现百分比布局。
如果控件为“match_parent”,则layout_weight的值与占用比重是反相关的,其值越大,它占用的比重越小。
如果控件为“wrap_content”,则对比重的判断会变为正相关,即其值越小,占用的空间越少。但是这种情况下,有时候不会严格地按照比重来显示,如果某个View中的内容过多,就会占用过多的空间。
备注:如果是水平方向设置权重,要将android:layout_width设置为0dp,如果是垂直方向上使用权重,要将android:layout_height设置为0dp。否则权重容易受到高度或宽度的干扰而出现偏差。