FrameLayout
特点:所有的View都会放在左上角,并且后添加进去的View会覆盖之前放进去的View
适用场景:在开发中常做容器使用,用于动态添加布局对象,比如浏览单张图片这类的。
LinearLayout
特点:在水平或者垂直方向上依次按照顺序来排列子元素,控件的排列顺序遵循其在布局文件中被写出的先后顺序。
适用场景:Android开发中最常见的 一种布局方式,值得注意的是LinearLayout中存在weight这一属性,在水平方向上代表列宽,在垂直方向上代表行距。一般这个值越大,则所占用的控件比例越大。
RelativeLayout
特点:以某一个子元素为参照物,其余子元素均按照其相对位置来完成布局。
适用场景:其属性很好的弥补了LinearLayout的缺点,在Android手机碎片化严重的今天,该布局是目前最推荐的一种布局方式,但也存在着一定的缺点,例如在修改了某一个控件的属性时,其他依赖于该控件的其他控件可能都需要修改其属性。
TableLayout
特点:每个TableLayout都是由一个或多个TableRow组成的,一个TableRow就代表TableLayout的一行。
适用场景:适用于多行多列的表格形式。需要注意的是,行和列的下标是从0开始的。
AbsoluteLayout
该布局已弃用。
布局优化
主要介绍布局优化的几种可能方式
1.善用RelativeLayout
2.使用抽象布局标签,如merge、include、stub
3.Android最新的布局方式ConstaintLayout
4.利用Android Lint工具寻求可能优化布局的层次
具体的布局优化内容请看-->[Android性能优化之布局优化]