問題:如何將一個Button放置在佈局中間並將其寬度設爲其parent的50%?
這看起來不難,但不少開發者並不知道達到這樣效果的最佳方法。
解決:在此咱們將weightSum屬性與layout_weight屬性一塊兒利用。
- <LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
- android:layout_width= "fill_parent"
- android:layout_height= "fill_parent"
- android:background= "#ffffff"
- android:gravity= "center"
- android:orientation= "horizontal"
- android:weightSum= "1" ><!--1.添加android:weightSum屬性-->
-
- <Button
- android:layout_width ="0dp"<!--2.將Button的layout_width設爲0dp-->
- android:layout_height ="wrap_content"
- android:layout_weight ="0.5"<!--3.確保其佔用了50%的可用空間-->
- android:text ="@string/activity_main_click_me" />
-
- </LinearLayout>
能夠注意到,在第2步將Button的layout_width設爲了0dp,會不會與layout_weight有衝突?答案是不會:
一個控件的寬度是這樣計算出來的:
Widget's width + Widget's weight*Parent's width/Parent's weightSum