我有一个线性布局和一个按钮。我希望按钮适合大约90%的布局宽度。在一些教程之后,我使用了属性layout_weight,这是我的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#FFFFFF"
android:weightSum="5" >
<Button
android:id="@+id/newgame"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4"
android:text="@string/newgame"
android:textSize="16sp"
android:typeface="monospace"
android:textStyle="bold"
android:background="@drawable/backrepeat" />
</LinearLayout>
现在,如果我将layout_width设置为0dp,我的按钮会消失,就像大多数教程所说的那样......可能是什么问题? 提前谢谢。
答案 0 :(得分:2)
线性布局权重仅在布局方向的维度上分布空间。你有一个垂直的线性布局和一个0px宽的元素 - 权重机制不会添加任何东西。将线性布局方向更改为水平。
答案 1 :(得分:1)
您可以轻松设置重量,就像这样使用.... 而不是0dp,您必须使用0dip
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
android:orientation="vertical"
android:weightSum="5" >
<Button
android:id="@+id/newgame"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="4"
android:background="@drawable/backrepeat"
android:text="@string/newgame"
android:textSize="16sp"
android:textStyle="bold"
android:typeface="monospace" />
</LinearLayout>
答案 2 :(得分:0)
试试这个,
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
>
<Button
android:id="@+id/newgame"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="9"
android:text="@string/newgame"
android:textSize="16sp"
android:typeface="monospace"
android:textStyle="bold"
android:background="@drawable/backrepeat" />
</LinearLayout>
默认情况下,“线性布局”的方向是水平的,因此现在将根据水平宽度对齐它。 :)