layout weight詳解示例

2021-06-21 16:51:44 字數 2347 閱讀 9590



layout_wlayout_weight

表示該view

控制項佔據父控制項剩餘空間的比例

**示例:1.

未使用layout_weight

,第乙個

linearlayout

將父控制項全部覆蓋,無法顯示第二個。

如果android:layout_height="wrap_content"

android:layout_width="wrap_content"

將導致兩個

linearlayout

沒有內容,顯示在角落,無法看見。 2.

對比示例一二可以很好的理解

layout_weight

的定義,即表示佔據父控制項剩餘空間的比例;

示例一中,兩個子線性布局的

layout_weight均為1

,所以每乙個布局佔據父控制項剩餘空間的

1/(1+1)=0.5;

例項二中,

linearlayout1

的layout_weight為2

,linearlayout2

的layout_weight為1

,所以linearlayout1

佔據父控制項的比例是

2/3,

linearlayout2

佔據父控制項的比例是

textview1和2

均為android:layout_width="wrap_content"。

因為textview1和2

根據weight

屬性分別佔據父控制項的

1/2,所以寬度應該相同。但是結果並不是這樣,

textview1

寬度明顯小於

textview2

。這是因為

layout_weight

表示的並不是佔據父控制項的比例,而是父控制項剩餘空間的比例。

textview1

和textview2

內容填充完後,並沒有完全布滿父控制項的寬度,還有剩餘空間,即圖中所示。根據

layout_weight

屬性,兩者分別佔據了剩餘空間的

1/2.

textview1

和textview2

的寬度並不相同,但是兩個

textview

除了內容外的空餘部分確實相同的。

通過對比例項三和示例四,相信可以很好地理解剩餘空間比例的問題。

在上面的示例中,父控制項的

weight

根據將子控制項的

weight

相加得到,所以父控制項的空間被子控制項完全填充;

使用weightsum

,可以設定父控制項的

weight

屬性多於子控制項,這樣父控制項不會完全被佔滿,其中一部分顯示父控制項的內容。

原英文作者**

作者的示例很好的體現了

layout_weight

的用法和意義,所以照搬過來。

解釋部分是按照原文和自己的實踐理解寫的,有錯誤還望指出!

android 中layout weight的作用

layout weight 用於給乙個線性布局中的諸多檢視的重要度賦值。所有的檢視都有乙個layout weight值,預設為零,意思是需要顯示多大的檢視就佔據多大的螢幕空 間。若賦乙個高於零的值,則將父檢視中的可 用空間分割,分割大小具體取決於每乙個檢視layout weight 值以及該值在當前...

android中layout weight的理解

例如 xmlns android android layout width fill parent android layout height wrap content android background 00ff00 android weightsum 0 android orientation...

layout weight常見解析

布局中若想某幾個控制項在水平方向以某種比例顯示,可做如下操作 以三個textview為例子,想要寬度是1 2 2 分別設定 layout width 0db layout weight 1 layout width 0db layout weight 2 layout width 0db layou...