1。问题
我希望有一条带有2条线的全屏线性布局,而第一条线分为2个部分,其中一个部分占据宽度的30%和第二个70%,第二条线分为2个部分相同的尺寸(每个宽度的50%)。此外,第一行仅占屏幕高度的33%。
我认为使用 android:layout_weight 是正确的方法。但它有点棘手,因为有时它适用于 android:layout_width ,有时适用于 android:layout_height 属性,它适用于一个或两个,具体取决于各个XML属性的值。
经过实验,我发现如果我将属性值设置为 wrap_content ,则会被 android:layout_weight 设置覆盖,例如以下代码将 android:layout_weight 应用于 android:layout_width :
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#FF0000"/>
这是正确的做法吗?
2。实施例
为了贬低布局(见图),我必须这样做:
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#FF0000"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="2"
android:background="#00FF00"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="2">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#0000FF"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#0000AA"/>
</LinearLayout>
</LinearLayout>
由于 斯登
答案 0 :(得分:1)
< LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#FF0000"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="2"
android:background="#00FF00"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#0000FF"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#0000AA"/>
</LinearLayout>
</LinearLayout>