layout_weight屬性用于控制View在父容器中的權重分配,它通常與LinearLayout一起使用。下面是使用layout_weight屬性的一些常見用法:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Button 1"
android:layout_weight="1" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Button 2"
android:layout_weight="2" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Button 3"
android:layout_weight="1" />
</LinearLayout>
在上述代碼中,LinearLayout的orientation屬性設置為horizontal,表示子View將水平排列。每個Button的layout_width屬性設置為0dp,而layout_weight屬性設置為不同的值,用于控制它們在父容器中的分配權重。在這個例子中,Button 1和Button 3的權重設置為1,Button 2的權重設置為2,Button 2將會被分配更多的空間。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 1"
android:layout_alignParentTop="true"
android:layout_weight="1" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 2"
android:layout_below="@id/button1"
android:layout_weight="2" />
<Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 3"
android:layout_below="@id/button2"
android:layout_weight="1" />
</RelativeLayout>
在上述代碼中,RelativeLayout被用于垂直排列三個Button。每個Button的layout_width屬性設置為match_parent,即占滿父容器的寬度。layout_weight屬性同樣用于控制它們在垂直方向上的分配權重。在這個例子中,Button 1和Button 3的權重設置為1,Button 2的權重設置為2,Button 2將會被分配更多的空間。
以上是layout_weight屬性的基本用法,它能夠靈活地控制View在父容器中的權重分配,使得UI布局更加靈活和自適應。