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性能優化之布局優化]