无法支持多屏幕分辨率

时间:2011-12-08 02:14:26

标签: android android-layout relativelayout

我很难完成我的Android应用,但我遇到了一些UI问题。我的问题非常基本,我在Eclipse中使用AVD管理器(HVGA,密度为160 dpi)时使用默认的AVD开发了UI,当我执行应用程序时,我看到它是我设计的,但是如果我更改了目标设备(即WVGA或QVGA),布局中的所有组件都位于与原始设备不同的位置。至于我在支持多屏幕的建议中看到的,我不应该使用AbsoluteLayouts,事实上我使用RelativeLayouts,我没有使用" px"对于尺寸(或位置),只是" wrap_content"或者" fill_parent",如果我需要一个特定的位置,我使用" dp" (也用" sp"测试过),我也将图像缩放为ldpi(0.75x),但仍然存在问题(不是特定的屏幕,孔应用程序).​​.....所以,我的问题是,我还缺少其他任何用户界面提示吗? 我在使用HVGA AVD(更大的图像)和QVGA AVD进行测试时,会提供示例代码和我观察到的结果。如您所见,黄色/绿色方块的位置不同,以及最后一行图像的大小 PS:我也使用TabLayout,因此后台通过代码加载(tabHost.setBackgroundDrawable(getResources()。getDrawable(R.drawable.background1)))
任何帮助将不胜感激。

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:id="@+id/row1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="140dp"
    >
    <ImageView
        android:id="@+id/btn1"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:clickable="true"
        android:onClick="method1"
        android:src="@drawable/button1"
    />
    <ImageView
        android:id="@+id/btn2"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:clickable="true"
        android:onClick="method1"
        android:src="@drawable/button2"
    />
    </LinearLayout>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_below="@id/row1"
        android:layout_centerHorizontal="true"
    >
    <ImageView
        android:id="@+id/btn3"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:clickable="true"
        android:onClick="method1"
        android:src="@drawable/button3"
    />
    <ImageView
        android:id="@+id/btn4"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:clickable="true"
        android:onClick="method1"
        android:src="@drawable/button4"
    />
    </LinearLayout>
</RelativeLayout>

screen at 240x320 screen at 320x480

3 个答案:

答案 0 :(得分:1)

你的布局对我来说很好,除了在背景上有白盒标题,因为它会使事情更难以置于其位置。此外,RelativeLayout没有方向,但会被忽略。

在更大的屏幕截图中,看起来白框和屏幕顶部之间有更多空间。对我来说没有意义的是第二排的不同大小。您是否100%确定在较小的屏幕截图中加载了正确的图像?

答案 1 :(得分:0)

您是否按照开发人员site上的步骤使您的应用支持多个屏幕?

答案 2 :(得分:0)

您需要为diff创建不同的布局。分辨率 ,即大屏幕使用layout-large 文件夹.. 我希望this能为您提供帮助。