如何使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 那么
- 将虚拟视图放在 RelativeLayout 的中心
- 将按钮 1 放在虚拟视图的左侧
- 将 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>
对应的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 那么
- 将虚拟视图放在 RelativeLayout 的中心
- 将按钮 1 放在虚拟视图的左侧
- 将 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>