Android 应用程序中相对布局中的 ImageButton 问题

发布于 2024-11-18 18:58:50 字数 2089 浏览 3 评论 0原文

在我的应用程序中,我想在页面底部放置 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 版本设备中,按钮呈锯齿形顺序。为什么会这样呢?请帮我。

我无法将其更改为任何其他布局,因为它会影响我的其余代码。所以请给我一个相对布局本身的解决方案。

In my app I want to place 5 image buttons in the bottom of the page. In the 5 buttons I want two buttons to be at right and left corner of the screen, and one button exactly at the center of the screen. The other two buttons must be placed inbetween of these buttons and there must be equal space between them. I want this to be created common for all devices.

The following is my layout:

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

I want to set all these images in an order, please help me.

Now I have a new problem. I tried running this code in my devices of version 1.5 and 2.1.
In 2.1, the layout works fine, but in version 1.5 device, the buttons are in a zig zag order. Why is it like this? Please help me.

I can't change this to any other layout because it will affect the rest of my codes. So please give me a solution in Relative layout itself.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

风向决定发型 2024-11-25 18:58:50

您可以使用 TableLayout

Example获得相同的结果

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

You can get the same using TableLayout

Example

<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>
傲性难收 2024-11-25 18:58:50

不要将按钮放置在相对布局中,而是将按钮放置在表格布局中,如下所示...

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

TableLayout 中使用 android:stretchColumns="*" 对齐所有按钮您的列间隔相等。

Instead of placing the buttons in the relative layout, put the buttons in the table layout something like this...

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

Using android:stretchColumns="*" in the TableLayout aligns all your columns at equal intervals.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文