Android UI之LinearLayout(線性布局)

來源:互聯網
上載者:User

標籤:linearlayout   android   ui   

說明:線性布局是最常用的布局,其包含的所有View會按照線性來排列。
需要注意的就是四個比較常用的xml屬性:

1 android:gravity

對應方法:setGravity(int)
說明:這個屬性設定布局內組件的對齊,支援以下屬性值:

屬性值 作用
top 將對象放在其容器的頂部,不改變其大小
bottom 將對象放在其容器的底部,不改變其大小
left 將對象放在其容器的左側,不改變其大小
right 將對象放在其容器的右側,不改變其大小
left 將對象放在其容器的左側,不改變其大小
center_vertical 將對象縱向置中,不改變其大小
center_horizontal 將對象橫向置中,不改變其大小
center 將對象橫縱向置中,不改變其大小
fill_vertical 必要的時候增加對象的縱向大小,以完全充滿其容器
fill_horizontal 必要的時候增加對象的橫向大小,以完全充滿其容器
fill 必要的時候增加對象的橫縱向大小,以完全充滿其容器
clip_vertical 附加選項,用於按照容器的邊來剪下對象的頂部和/或底部的內容。 剪下基於其縱向對齊設定:頂部對齊時,剪下底部;底部對齊時剪下頂部;除此之外剪下頂部和底部。
clip_horizontal 附加選項,用於按照容器的邊來剪下對象的左側和/或右側的內容。 剪下基於其橫向對齊設定:左側對齊時,剪下右側;右側對齊時剪下左側;除此之外剪下左側和右側。

以上屬性值可以多選,中間用“|”分隔。

2 android:orientation

對應方法:setOrientation(int)
說明:這個屬性設定LinearLayout中布局的相片順序,支援horizontal(水平排列)和vertical(垂直排列)兩種屬性值,預設為垂直排列。

注意:需要特別說明的是,orientation的值會影響到gravity的設定。
只有orientation設定為vertical時,才可以使用跟水平方向有關的布局,比如:left;
只有orientation設定為horizontal時,才可以使用跟垂直方向有關的布局,比如:bottom;
也就是說,只有與orientation值相反的gravity屬性值才可以起作用

3 android:layout_gravity

說明:看名字就與android:gravity很像,但兩者還是有區別的。
android:gravity是對該View中內容擺放位置的設定,比如:LinearLayout中button的擺放位置,預設為從左上方開始;
android:layout_gravity是相對與該View的父View來說的,說明該元素顯示在父View中的擺放位置,比如:button想要擺放在LinearLayout的底部。

4 android:weight

說明:指定改View在LinearLayout中所佔的權重。
這裡的權重是給組件分配完之後的剩餘空間比重。

注意:實際開發時,我們不能將組價需要設定權重的方向設定寬/高度。
詳情可以去xiaanming的部落格去瞭解,這裡不做太多說明
所以,如果我們想讓組件在水平方向上按比例排列,就需要把組件的android:layout_width屬性設為0dp

附:引用聲明

蟈蟈俊的技術心得:android:layout_gravity 和 android:gravity 的區別
Mobile Internet developer:Android 對Layout_weight屬性完全解析以及使用ListView來實現表格
《瘋狂Android講義(第二版)》 李剛 《2.2.1 線性布局》 電子工業出版社

Android UI之LinearLayout(線性布局)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.