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

时间:2015-03-28 12:05:19

标签: android-relativelayout android-imagebutton

ddd

相应的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>

我可以通过设置

来更改按钮的宽度

minWidth = 200dp maxWidth = 200dp

因此按钮将占据我的相对布局中的固定空间

但我希望以“正确的方式”做到这一点 - 可能使用重力,但按钮没有重力 - 仅适用于包含这两个按钮的相对布局

如何正确地使2个按钮在rel布局中占据相同的空间?

1 个答案:

答案 0 :(得分:1)

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

  1. 将虚拟视图放在RelativeLayout的中心
  2. 将button1置于虚拟视图左侧
  3. 将button2置于虚拟视图右侧
  4. 示例代码:

    <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>