如何使2个水平按钮平均填充相对布局?

How to make 2 horizontal buttons to fill relative layout equally?

对应的xml布局:

  <RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/buttons_holder"
    android:layout_below="@+id/list_holder"
    android:layout_alignParentBottom="true">

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/previous_button"
        android:src="@android:drawable/ic_media_previous"
        android:layout_alignParentLeft="true"
        android:minWidth="150dp"
        android:layout_alignParentBottom="false"
        android:layout_alignParentRight="false"
        android:layout_alignParentTop="false"
        android:scaleType="fitEnd" />

    <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/forward_button"
        android:src="@android:drawable/ic_media_next"
        android:layout_alignParentRight="true"
        android:minWidth="150dp"
        android:scaleType="fitStart"
        android:layout_alignWithParentIfMissing="false" />
</RelativeLayout>

我可以通过设置来改变按钮的宽度

最小宽度 = 200dp 最大宽度 = 200dp

所以按钮将在我的相对布局中固定 space

但我想这样做 'right way' - 可能使用重力,但按钮没有重力 - 仅适用于包含这 2 个按钮的相对布局

如何正确地使 2 个按钮在 rel 布局中占据相等 space?

你可以使用@Onik 的建议。如果你只想使用 RelativeLayout 那么

  1. 将虚拟视图放在 RelativeLayout 的中心
  2. 将按钮 1 放在虚拟视图的左侧
  3. 将 button2 放在虚拟视图的右侧

示例代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

   <ImageButton
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_toLeftOf="@+id/dummy" />

   <View
       android:id="@+id/dummy"
       android:layout_width="1dp"
       android:layout_height="1dp"
       android:layout_centerHorizontal="true" />

  <ImageButton
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_toRightOf="@+id/dummy" />

</RelativeLayout>