LinearLayout的weight屬性如何分配空間

小樊
81
2024-10-10 13:00:51
欄目: 云計(jì)算

在LinearLayout中,weight屬性用于指定子視圖在LinearLayout中所占的權(quán)重。當(dāng)LinearLayout的寬度固定時(shí),weight屬性可以根據(jù)子視圖的權(quán)重來(lái)分配空間。具體分配方式如下:

  1. 首先,為L(zhǎng)inearLayout設(shè)置一個(gè)固定的寬度(例如android:layout_width="match_parent")。
  2. 為每個(gè)子視圖設(shè)置weight屬性,值為正數(shù)。例如,假設(shè)我們有兩個(gè)子視圖,一個(gè)寬度為100dp,另一個(gè)寬度為200dp,我們希望它們分別占據(jù)33%和67%的空間,那么可以將它們的weight屬性設(shè)置為12。

示例代碼:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <View
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

    <View
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="2" />

</LinearLayout>

在這個(gè)示例中,第一個(gè)子視圖的寬度為100dp(1 * weight),第二個(gè)子視圖的寬度為200dp(2 * weight)。由于LinearLayout的寬度固定為match_parent,所以子視圖會(huì)根據(jù)權(quán)重分配空間。

0