安卓APP_ 布局(1)—— LinearLayout
摘自:安卓APP_ 布局(1)—— LinearLayout
作者:丶PURSUING
發布時間: 2021-04-05 16:46:22
網址:https://blog.csdn.net/weixin_44742824/article/details/115442240
LinearLatout
- 一、orientation:布局中組件的排列方式
- 二、gravity與layout_gravity:組件的位置
- 三、divider:分割線
- (1)用圖片做分割線
- (2)用view繪制做分割線
- 四、layout_weight權重
- 注意1:剩余空間
- 注意2:原有的基礎上
- 注意3:權重針對于排列方式
- 實際開發時,權重這樣用
一、orientation:布局中組件的排列方式
二、gravity與layout_gravity:組件的位置
(1)gravity:控件組件所包含的所有子元素的對齊方式,可用|進行多個組合:
(2)layout_gravity:控制該組件在父容器里的對齊方式
layout_gravity的設置會很大程度上受到上面所提的layout的影響:
比如當layout設置為垂直排列時,其子元素就是從上到下進行排列的,留給紅色色塊的可調范圍其實就僅為它所在的水平區域,如圖:
三、divider:分割線
(1)用圖片做分割線
<!--引用圖片做分割線--> <!--設置分割線位于空間中間--> <!--分割線距離邊緣的距離為100dp-->android:divider="@drawable/divider" android:showDividers="middle" android:dividerPadding="100dp"- 1
- 2
- 3
- 4
- 5
- 6
- 7
具體效果如下圖:
(2)用view繪制做分割線
當然了,分割線還可以這樣做:直接通過view進行繪制
四、layout_weight權重
控件的最終大小 = 原來的大小 × 權重
有時候我們有這樣的需求:在一個布局中有兩個控件,第一個控件的大小隨著內容而變化,此時又希望第二個控件把剩余的布局空間全部占滿。
這時候第二個控件的大小就不好把握,用layout_weight就能滿足這個需求。
注意1:剩余空間
在下圖中,把綠色布局的權重設置為1,分別調整紅色布局的高度為100,500,700,900。
值得注意的是:紅色設置權重為1,針對的是剩余的空間,在紅色布局高度為900時,沒有了剩余空間,綠色自然就沒有顯示。
注意2:原有的基礎上
在下圖中,我們設置綠色與藍色的比重分別是2:1,但我們發現,當調整藍色布局的高度時,這個所占的比例發生了變化。所以權重≠比例
比如考試成績的權重,總分 = 語文×0.2 + 數學×0.4 + 英語×0.2 + 體育×0.2
總分并不止和權重有關,還與原有的分數有關!!
注意3:權重針對于排列方式
當總的容器布局layout為水平時,權重就針對于水平。垂直時則針對于垂直方向。
實際開發時,權重這樣用
在 注意(2) 中,我們設置權重最終其實就是想要比例,但會受到基礎值的影響,還要計算,真麻煩,那當然是有好用的方法:
把子元素的高度全部設置為0,如下圖:這樣就是權重=比例
總結
以上是生活随笔為你收集整理的安卓APP_ 布局(1)—— LinearLayout的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 直播源地址_斗鱼直播间真实
- 下一篇: 系统漏洞