android:layout_weight
是用於給乙個線性布局(
linearlayout
)中的諸多檢視的重要度賦值。
所有的檢視都有乙個
layout_weight
值,預設為零,意思是需要顯示多大的檢視就佔據多的的螢幕空間。若賦值高於零又是怎麼樣的呢?
在網上有很多關於
layout_weight
的學習資料,網上介紹的都大同小異,以為該學到的都學到的時候,一實踐就發現了一些問題。以下一段是網上關於
layout_weight
值大於零的顯示效果的說法。
如果一行中有兩個等長的文字框,那麼他們的
android:layout_weight
值可以是同為
1。如果一行中有兩個不等長的文字框,那麼他們的
android:layout_weight
值分別為1和
2,那麼第乙個文字框將佔據剩餘空間的三分之二,第二個文字框將佔據剩餘空間中的三分之一。
android:layout_weight
遵循數值越小,重要度越高的原則。
網上說法都沒有提到
layout_width/layout_height
的值,事實上
layout_weight
的屬性值跟
layout_width/layout_height
有很大的關係,下面是我結合網上學習和個人實踐後作出的有關
layout_weight
使用的小結。當然正不正確讀者自己實踐證明就知道。
首先一點
:linearlayout
中要讓layout_weight
生效,需要父層或父父層的相應
layout_width/layout_height=
「fill_parent
」,否則「
wrap_content
」會壓縮到最小足夠空間。
第二
:所有的檢視都有乙個
layout_weight
值,預設為零,需要顯示多大的檢視就佔據多的的螢幕空間。
第三
:當layout_weight
值大於零是情況有二。以三個並列的文字框為例說明如下,其中
layout_width
影響layout_weight
,**如下:
xmlversion
="1.0"
encoding
="utf-8"
?>
<
linearlayout
xmlns:android
=""android:layout_width
="fill_parent"
android:layout_height
="wrap_content"
android:orientation
="horizontal"
>
<
textview
android:background
="#ff0000"
android:layout_width="
**"android:layout_height
="wrap_content"
android:text
="1"
android:textcolor
="@android:color/white"
android:layout_weight
="1"
/>
<
textview
android:background
="#cccccc"
android:layout_width
="**"
android:layout_height
="wrap_content"
android:text
="2"
android:textcolor
="@android:color/black"
android:layout_weight
="2"
/>
<
textview
android:background
="#ddaacc"
android:layout_width
="**"
android:layout_height
="wrap_content"
android:text
="3"
android:textcolor
="@android:color/black"
android:layout_weight
="3"
/>
linearlayout
>
情況一:
三個文字框的都是
layout_width=
「fill_parent
」時,其權重賦值
遵循數值越小,重要度越高的原則。這種情況下,沒有設定
layout_weight
的話,第乙個元件將占用餘下的空間,那麼後面的元件就顯示不出來。
1的話就是平分
3的話,只有前面兩個文字框顯示,比例為2:
1(如圖一)。
1、2、
2的話,分成
5份,三個文字框都顯示,比例為
3:1:1
(如圖三);
(圖三)1、
3、3的話,分成
7份,三個文字框都顯示,比例為
注意:這種情況適合兩個元件設定權重,多了的話不好預知顯示結果,設定不好的話有些元件無法顯示。
情況二:
三個文字框的都是
layout_width=
「wrap_content
」時,其值表示占用剩餘空間的比例。1、
2、3的話,分成
6份,三文字框顯示,比例
1:2:3
(如圖五)
(圖五)
情況三:
當三個文字框中的
layout_width
的值既有
fill_parent
又有wrap_content
時,以fill_parent
優先。結束語:不同情況顯示的都不同,有些雖然別人介紹,我們以為懂了,可是就有那麼多小細節沒有考慮到導致結果相差甚遠,所以每個效果只有自己試了才知道,只有出錯了才了解,只有成功了才確定。
研效優化實踐 WeTest提效測試
1.1真通過與假通過 每次自動化相容測試結束後,wetest平台會返回乙份對應的測試報告,涵蓋測試過程中的詳細資訊,如裝置日誌 截圖 效能資料等,可以做進一步的結果分析。概覽資料涵蓋本次裝置維度的測試結果,包括通過的裝置數量 未通過的裝置數量等。裝置維度未通過的定義為發生相容性問題,如crash a...
android 中layout weight的作用
layout weight 用於給乙個線性布局中的諸多檢視的重要度賦值。所有的檢視都有乙個layout weight值,預設為零,意思是需要顯示多大的檢視就佔據多大的螢幕空 間。若賦乙個高於零的值,則將父檢視中的可 用空間分割,分割大小具體取決於每乙個檢視layout weight 值以及該值在當前...
layout weight詳解示例
layout wlayout weight 表示該view 控制項佔據父控制項剩餘空間的比例 示例 1.未使用layout weight 第乙個 linearlayout 將父控制項全部覆蓋,無法顯示第二個。如果android layout height wrap content android l...