Android LinearLayout中元素按比例分配寬度
阿新 • • 發佈:2019-01-21
今天在安卓應用中調整UI,在一行中(LinearLayout)有三個按鈕,都是預設寬度,依次排列,但右邊還有很大的空白,不太美觀:
最好是能將三個按鈕的寬度填滿螢幕,並且三者的寬度平均分配,那怎樣實現呢?答案是用權重(layout_weight):
android:layout_width="0dp"
android:layout_weight="1.0"
把layout_width設為0dp,這個時候Eclipse會提示你”設定為0dp的話就看不見,必須設定權重“這樣的資訊,然後三個按鈕的權重layout_weight都設定為1.0。屬性設定如下:
執行的效果:<LinearLayout> <Button android:layout_width="0dp" android:layout_weight="1.0" android:layout_height="wrap_content" android:text="查詢"/> <Button android:layout_width="0dp" android:layout_weight="1.0" android:layout_height="wrap_content" android:text="刪除"/> <Button android:layout_width="0dp" android:layout_weight="1.0" android:layout_height="wrap_content" android:text="上傳"/> </LinearLayout>
確實實現了三個按鈕同樣大小,並且總寬度撐滿螢幕的效果。
那麼這個權重layout_weight到底是什麼意思呢?那就再來做個試驗,把三個按鈕的權重分別設為1.0、2.0和3.0,看看是什麼效果:
效果很明顯,同樣是總寬度撐滿了螢幕,但是三個按鈕的寬度之比是1 : 2 : 3,也就是說,這個權重其實是元素之間的寬度比例,可以根據實際需要進行設定。