我正在尝试使用三个按钮获得一行。中间一个最左边,最右边一个。理想情况下,我希望中央按钮占据两侧之间的所有空间。现在,中央(菜单)按钮与左侧(上一个)按钮重叠。这就是我现在所拥有的:
<RelativeLayout android:layout_marginTop="-50dip" android:gravity="bottom" android:layout_height="wrap_content" android:layout_width="fill_parent">
<Button
android:id="@+id/previous_button"
android:layout_height="wrap_content"
android:layout_width="110px"
android:layout_alignParentLeft="true"
android:text="@string/previous"
/>
<Button
android:id="@+id/menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="center"
android:text="@string/menu"
/>
<Button
android:id="@+id/next_button"
android:layout_height="wrap_content"
android:layout_width="110px"
android:layout_alignParentRight="true"
android:text="@string/next"
/>
答案 0 :(得分:5)
您应避免使用尺寸的像素值。如果您确实要设置显式值,请使用dpi单位。
但在这种情况下,您应该可以使用layout_weights的简单LinearLayout。 layout_weight指示如何在窗口小部件之间分配剩余空间。如果您为一个窗口小部件赋值1,而其他窗口小部件为1,则1将使用所有额外空间。
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="fill_parent">
<Button
android:id="@+id/previous_button"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_weight="0"/>
<Button
android:id="@+id/menu"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_weight="1"/>
<Button
android:id="@+id/next_button"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_weight="0"/>
</LinearLayout>