0

我不明白以下几点:

所以我的问题是:为什么在 GS3 上运行的应用程序会从“mdpi”限定符中获取资源?


作为更新,请参阅我的代码来测试它:

主.xml

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="@string/density" />

</RelativeLayout>

文件夹中的strings.xml {" values "," values-ldpi "," values-mdpi "," values-hdpi "," values-xhdpi "}

其中 " [x] " 分别是 {" default "," ldpi "," mdpi "," hdpi "," xhdpi "} :

<resources>

    <string name="density">[x]</string>

</resources>

结果是应用程序显示“ mdpi ”文本资源


作为一个新的更新,我测试了:

  • 将“ values-xhdpi ”文件夹重命名为“ values-normal-xhdpi

结果:“ xhdpi

  • 将“ values-xhdpi ”文件夹重命名为“ values-normal-xhdpi
  • 将“ values-hdpi ”文件夹重命名为“ values-normal-hdpi

结果:“ hdpi

  • 将“ values-xhdpi ”文件夹重命名为“ values-normal-xhdpi
  • 将“ values-hdpi ”文件夹重命名为“ values-normal-hdpi
  • 将“ values-mdpi ”文件夹重命名为“ values-normal-mdpi

结果:“ mdpi

  • 将“ values-xhdpi ”文件夹重命名为“ values-normal-xhdpi
  • 将“ values-hdpi ”文件夹重命名为“ values-normal-hdpi
  • 将“ values-mdpi ”文件夹重命名为“ values-normal-mdpi
  • 将“ values-ldpi ”文件夹重命名为“ values-normal-ldpi

结果:“ mdpi

我不明白结果,为什么系统选择资源的选择性较低(“mdpi”最小值)而不是选择性更高?

4

1 回答 1

0

我发现了我的错误:

我在 API 级别 3 下编译,并在我的清单中删除了属性 android:targetSdkVersion,因为它无法识别(错误:在包 'android' 中找不到属性 'targetSdkVersion' 的资源标识符)。在支持的屏幕范围部分,我们可以看到从 Android 1.6(API 级别 4)开始支持。

谢谢你的帮助

于 2012-10-11T17:30:52.173 回答