如何在xml中设置一个在所有屏幕尺寸上看起来都很好的按钮布局?

时间:2013-12-27 12:57:21

标签: xml android-ui android-xml android

我在页面中有4个按钮,就像我的问题后面的图像一样 我不想改变不同尺寸屏幕上按钮的位置 我不知道怎么办呢。

我想要的就是这张图片:

enter image description here

我拥有的是:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    tools:context=".MainActivity"
    tools:ignore="ObsoleteLayoutParam,ContentDescription,UselessLeaf,UselessParent" >

    <ImageView
        android:id="@+id/helpi"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:src="@drawable/iconhelp" />

    <ImageView
        android:id="@+id/categoryi"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignParentLeft="true"
        android:layout_centerHorizontal="true"
        android:src="@drawable/iconcategory" />

    <ImageView
        android:id="@+id/searchi"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:src="@drawable/iconsearch" />

    <ImageView
        android:id="@+id/infoi"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:src="@drawable/iconinfo" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

我想你想要这样的东西:

enter image description here

这是在 240 * 320 ldpi 屏幕上呈现的方式

enter image description here

这是在 320 * 480 mdpi 屏幕上呈现的方式

我通过使用它获得了它(按钮图像来自谷歌搜索):

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/black"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        >
        <Button
            android:id="@+id/btnTopLeft"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:background="@drawable/ball"
            android:text="Btn 1"
            android:textColor="@android:color/white"
            android:textSize="24sp"
            android:textStyle="bold"
        />
        <Button
            android:id="@+id/btnTopRight"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_toRightOf="@id/btnTopLeft"
            android:background="@drawable/ball"
            android:text="Btn 2"
            android:textColor="@android:color/white"
            android:textSize="24sp"
            android:textStyle="bold"
        />
        <Button
            android:id="@+id/btnBottomLeft"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/btnTopLeft"
            android:layout_alignParentLeft="true"
            android:background="@drawable/ball"
            android:text="Btn 3"
            android:textColor="@android:color/white"
            android:textSize="24sp"
            android:textStyle="bold"
        />
        <Button
            android:id="@+id/btnBottomRight"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/btnTopRight"
            android:layout_toRightOf="@id/btnBottomLeft"
            android:background="@drawable/ball"
            android:text="Btn 4"
            android:textColor="@android:color/white"
            android:textSize="24sp"
            android:textStyle="bold"
        />
    </RelativeLayout>
</RelativeLayout>

我在模拟器上使用了一个小屏幕,加载速度更快