Android中的线性布局和重量
我总是在Android文档中阅读这个有趣的体重值。 现在我想第一次尝试它,但它根本不工作。
据我所知,这个布局是:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:text="Register"
android:id="@+id/register"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dip"
weight="1" />
<Button
android:text="Not this time"
android:id="@+id/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dip"
weight="1" />
</LinearLayout>
应该创建两个水平对齐的按钮并平均分配空间。 问题在于两个按钮不能填充空间。
我希望按钮能够成长并填满整条线。 如果两个按钮都设置为与父母匹配,则只显示第一个按钮并填充整行。
您没有设置layout_weight
属性。 你的代码读取weight="1"
,它应该读取android:layout_weight="1"
。
3件事要记住:
例:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="5">
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="1" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text="2" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="3" />
</LinearLayout>
结果是:
它是android:layout_weight
。 权重只能在LinearLayout
。 如果linearlayout的方向为垂直,则使用android:layout_height="0dp"
,如果方向为水平,则使用android:layout_width = "0dp"
。 它会很好地工作。