GS3上的屏幕密度



我不明白以下几点:

  • 三星Galaxy S3在4.8英寸屏幕上显示720px x 1280px
  • 因此,屏幕密度可以评估为305dpi
  • 在安卓屏幕支持推荐页面中,305dpi对应"xhdpi"限定符

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


作为更新,请参阅我的代码进行测试:

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

string.xml文件夹中的{">"、">values ldpi"、">values mdpialueshdpi"、">values-xhdpi"}

其中">[x]"分别为{">默认、">ldpi"、">mdpidpi"、">xhdpi"}:

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

结果是应用程序显示">mdpi"文本资源


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

  • 将">values xhdi"文件夹重命名为">values normal xhdi">

结果:">xhdi">

  • 将">values xhdi"文件夹重命名为">values normal xhdi">
  • 将">values hdpi"文件夹重命名为">values normal hdpi">

结果:">hdpi">

  • 将">values xhdi"文件夹重命名为">values normal xhdi">
  • 将">values hdpi"文件夹重命名为">values normal hdpi">
  • 将">values mdpi"文件夹重命名为">values normal mdpi">

结果:">mdpi">

  • 将">values xhdi"文件夹重命名为">values normal xhdi">
  • 将">values hdpi"文件夹重命名为">values normal hdpi">
  • 将">values mdpi"文件夹重命名为">values normal mdpi">
  • 将">values ldpi"文件夹重命名为">values normal ldpi

结果:">mdpi">

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

我发现了我的错误:

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

感谢的帮助

相关内容

  • 没有找到相关文章

最新更新