屏幕尺寸与按钮位置

时间:2011-02-27 07:10:25

标签: android xml android-layout

我正在尝试构建这个应用程序,并且它在常规的3.7英寸WVGA屏幕上看起来很棒,问题就像你在更大的屏幕上安装应用程序时所看到的那样。有想法该怎么解决这个吗?我希望按钮保持在屏幕顶部的文本下方。 这是我的XML。

<?xml version="1.0" encoding="utf-8"?>

<ScrollView android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <LinearLayout android:layout_width="fill_parent"
        android:orientation="vertical" android:layout_height="fill_parent" android:paddingLeft="60dip" android:paddingRight="60dip">


        <Button android:layout_height="wrap_content"
            android:layout_gravity="center" android:textColor="#ffd700"
            android:layout_marginBottom="2dip" android:id="@+id/ArButton01"
            android:background="@drawable/android_button" android:textSize="25dip"
            android:layout_width="fill_parent" />

        <Button android:layout_height="wrap_content"
            android:layout_gravity="center" android:background="@drawable/android_button"
            android:textColor="#ffd700" android:layout_marginBottom="2dip"
            android:id="@+id/ArButton02" android:textSize="25dip"
            android:layout_width="fill_parent" />

        <Button android:layout_height="wrap_content"
            android:layout_gravity="center" android:background="@drawable/android_button"
            android:textColor="#ffd700" android:layout_marginBottom="2dip"
            android:id="@+id/ArButton03" android:textSize="25dip"
            android:layout_width="fill_parent" />

        <Button android:layout_height="wrap_content"
            android:layout_gravity="center" android:background="@drawable/android_button"
            android:textColor="#ffd700" android:layout_marginBottom="2dip"
            android:id="@+id/ArButton04" android:textSize="25dip"
            android:layout_width="fill_parent" />

        <Button android:layout_height="wrap_content"
            android:layout_gravity="center" android:background="@drawable/android_button"
            android:textColor="#ffd700" android:layout_marginBottom="2dip"
            android:id="@+id/ArButton05" android:textSize="25dip"
            android:layout_width="fill_parent" />

        <Button android:layout_height="wrap_content"
            android:layout_gravity="center" android:background="@drawable/android_button"
            android:textColor="#ffd700" android:layout_marginBottom="2dip"
            android:id="@+id/ArButton06" android:textSize="25dip"
            android:layout_width="fill_parent" />

        <Button android:layout_height="wrap_content"
            android:layout_gravity="center" android:background="@drawable/android_button"
            android:textColor="#ffd700" android:layout_marginBottom="2dip"
            android:id="@+id/ArButton07" android:textSize="25dip"
            android:layout_width="fill_parent" />

        <Button android:layout_height="wrap_content"
            android:layout_gravity="center" android:background="@drawable/android_button"
            android:textColor="#ffd700" android:layout_marginBottom="2dip"
            android:id="@+id/ArButton08" android:textSize="25dip"
            android:layout_width="fill_parent" />

        <Button android:layout_height="wrap_content"
            android:layout_gravity="center" android:background="@drawable/android_button"
            android:textColor="#ffd700" android:layout_marginBottom="2dip"
            android:id="@+id/ArButton09" android:textSize="25dip"
            android:layout_width="fill_parent" />

        <Button android:layout_height="wrap_content"
            android:layout_gravity="center" android:textStyle="bold"
            android:background="@drawable/android_button" android:textColor="#ffd700"
            android:layout_marginBottom="2dip" android:id="@+id/ArButton10"
            android:textSize="25dip" android:layout_width="fill_parent" />

        <!-- <Button android:layout_height="wrap_content" -->
        <!-- android:layout_width="200dip" android:layout_gravity="center" -->
        <!-- android:textStyle="bold" android:background="@drawable/android_button" -->
        <!-- android:textColor="#ffd700" android:layout_marginBottom="2dip" -->
        <!-- android:id="@+id/ArButton11" android:textSize="25dip" /> -->

    </LinearLayout>
</ScrollView>

3.7 WVGA (N1 size

enter image description here

谢谢你的期待。

1 个答案:

答案 0 :(得分:2)

您需要为不同的设备/屏幕提供不同的XML布局。对于Gingerbread(Android 2.3),共有8种不同的支持屏幕尺寸。您可以通过在res文件夹中创建多个布局文件夹来执行此操作。

将当前布局文件夹重命名为“layout-normal-hdpi”(对于正常大小的屏幕上的WVGA800)。创建一个新文件夹“layout-large-mdpi”(适用于大屏幕上的WVGA800)。这两个文件夹都适用于具有WVGA800分辨率但屏幕物理尺寸不同的设备。

将布局XML文件从“layout-normal-hdpi”复制到“layout-large-mdpi”并更改按钮位置,以便它看起来像您希望它在具有更大尺寸的设备上查看的方式屏幕。 Android会自动选择正确的布局,具体取决于设备的硬件。

请注意,2个XML文件应该具有完全相同的名称,只有它们所在文件夹的名称应该不同。

有关支持的其他屏幕尺寸和分辨率的详细信息,请查看http://developer.android.com/guide/practices/screens_support.html