在我的应用中,我想在页面底部放置5个图像按钮。在5个按钮中,我想要两个按钮位于屏幕的左右角,一个按钮恰好位于屏幕的中央。其他两个按钮必须放在这些按钮之间,它们之间必须有相等的空间。我希望这对所有设备都是通用的。
以下是我的布局:
<RelativeLayout android:id="@+id/RelativeLayout01" android:layout_width="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content">
<RelativeLayout android:background="#ffffff" android:layout_width="fill_parent" android:layout_alignParentBottom="true" android:id="@+id/relativeLayout1" android:layout_height="wrap_content">
<ImageButton android:layout_alignParentLeft="true" android:id="@+id/widget32" android:layout_width="wrap_content" android:background="@drawable/back" android:layout_height="wrap_content">
</ImageButton>
<ImageButton android:layout_toRightOf="@+id/widget32" android:id="@+id/widget33" android:layout_width="wrap_content" android:background="@drawable/thumbsup" android:layout_height="wrap_content">
</ImageButton>
<ImageButton android:layout_centerInParent="true"android:layout_toRightOf="@+id/widget33" android:id="@+id/flipme" android:layout_width="wrap_content" android:background="@drawable/flip" android:layout_height="wrap_content">
</ImageButton>
<ImageButton android:layout_toRightOf="@+id/flipme" android:id="@+id/widget35" android:layout_width="wrap_content" android:background="@drawable/thumbsdown" android:layout_height="wrap_content">
</ImageButton>
<ImageButton android:layout_alignParentRight="true" android:id="@+id/widget36" android:layout_width="wrap_content" android:background="@drawable/forward" android:layout_height="wrap_content">
</ImageButton>
</RelativeLayout>
</RelativeLayout>
我想按顺序设置所有这些图片,请帮助我。
现在我遇到了一个新问题。我尝试在我的1.5和2.1版本的设备中运行此代码。 在2.1中,布局工作正常,但在1.5版设备中,按钮处于锯齿形顺序。为什么会这样?请帮帮我。
我无法将其更改为任何其他布局,因为它会影响我的其余代码。所以请给我一个相对布局的解决方案。
答案 0 :(得分:2)
您可以使用TableLayout
示例强>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableRow>
<ImageView
android:id="@+id/j_elective_02"
android:layout_width="wrap_content"
android:layout_weight="1"
android:src="@drawable/aruba"
/>
<ImageView
android:id="@+id/j_elective_01"
android:layout_width="wrap_content"
android:layout_weight="1"
android:src="@drawable/aruba"/>
<ImageView
android:id="@+id/j_elective_02"
android:layout_width="wrap_content"
android:layout_weight="1"
android:src="@drawable/aruba"
/>
<ImageView
android:id="@+id/j_elective_01"
android:layout_width="wrap_content"
android:layout_weight="1"
android:src="@drawable/aruba"/>
<ImageView
android:id="@+id/j_elective_02"
android:layout_width="wrap_content"
android:layout_weight="1"
android:src="@drawable/aruba"
/>
</TableRow>
</TableLayout>
答案 1 :(得分:0)
不要将按钮放在相对布局中,而是将按钮放在表格布局中......就像这样...
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/bottom_bar"
android:stretchColumns="*">
<TableRow>
<Button
android:id="@+id/ImageButton1 "
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ImageButton1 ">
</Button>
<Button
android:id="@+id/ImageButton2 "
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ImageButton2 ">
</Button>
<Button
android:id="@+id/ImageButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ImageButton3"
>
</Button>
<Button
android:id="@+id/ImageButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ImageButton4"
>
</Button>
<Button
android:id="@+id/ImageButton5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ImageButton5"
>
</Button>
</TableRow>
</TableLayout>
使用android:stretchColumns="*"
中的TableLayout
以相等的间隔对齐所有列。