Android UI——LinearLayout屬性

LinearLayout使用要點:

layout_weight屬性:

1.作用域:當orientation屬性爲vertical時,作用於垂直方向,也就是針對layout_height屬性;當orientation屬性爲horizontal時,作用於水平方向,也就是針對layout_width屬性。

2.默認值:當沒有設置layout_weight屬性時,其默認值爲0。

3.計算方式:width/height的屬性取值不同,爲wrop_content或match_parent時,weight的計算方式也不同,當width/height取wrop_content時,weight值越小,其在LinearLayout中佔的比例越小;反之當width/height取match_parent時,weight越小,其在LinearLayout中佔的比例越大。

4.計算方法:假設有兩個View,width/height取wrop_content時,view1的weight取1,view2的weight取2,那麼view1在LinearLayout中佔1/3,view2在LinearLayout中佔2/3,這種計算方法也不絕對,如果某個View的weight取0時,這個View是不參與weight計算(暫時取這麼個名字)的,比如兩個View的weight值都取0,那麼兩個View都是自適應,需要多大的地方就佔多大的地方,再比如view1的weight取0,view2的weight取1,那麼首先view1是不參與計算的,它佔的空間就是它需要的空間,view2則是在父控件(LinearLayout)的剩餘空間中進行weight計算,計算結果1/1,所以它會填滿父控件的剩餘空間;當width/height取match_parent時,weight計算正好相反,其他的都一樣。

5.計算順序:LinearLayout在計算子View的大小時,總是先計算weight爲0的控件的大小,然後再把剩餘的空間按比例分配給weight值大於0的控件,如果沒有剩餘的空間,就不會顯示其他控件了,當然從上到下、從左到右的順序是不會變的。


gravity屬性:

1.使用限制:gravity的屬性受制於orientation屬性,當orientation爲vertical時,只有垂直方向的設置是有效的,即:top、bottom、center_vertical是有效的;當orientation爲horizontal時,只有水平方向的設置是有效的,即:left、right、center_horizontal是有效的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章