LinearLayout布局中晌缘,我們會經(jīng)常用到weight屬性,相信大家對他并不陌生涮瞻,weight可以很好地對當前屏幕中的控件進行分配便脊,在Android適配中起到很好的作用。但是weight屬性具體的計算原理相信很多人并不是很清楚沥阳。
先上圖片
同樣設置的weight寬度比例跨琳,但是在布局中顯示的比例卻正好相反,原因就是因為weight的計算原理為:控件的原有寬度 + 剩余空間所占百分比的寬度
看下代碼:
代碼非常簡單桐罕,就是一個線性布局放了兩個Button脉让,下面我們來計算下Button1的所占寬度,假設當前屏幕寬度為L功炮,Button1的寬度就為:
L(當前Button1的寬度為match_parent)+( L(屏幕寬度) - 2L(兩個Button的寬度))* 1/3 = 2/3L
如果當前width為0dp溅潜,那么Button1所占的寬度就為:
0 + (L - 0)* 1/3 = 1/3L