android - 资源限定符应该如何应对?

标签 android android-layout android-resources

以下是我的目录结构,以使我的问题更容易理解。

res/
  layout/
    a.xml
    b.xml
  layout-land/
    a.xml
    b.xml
  layout-sw600dp-land/
    a.xml
  layout-sw720dp-land/
    a.xml

现在根据我的理解,如果一个设备符合 layout-sw720p-land 限定符并尝试访问 b.xml,这将是顺序 layout-sw720p-land -> layout-land -> layout 当 Dalvik 将尝试加载 b.xml 和它会在 layout-land 文件夹中找到资源,永远不会去 layout 文件夹加载 b.xml

这对我随身携带的设备来说工作正常。但是我在 Google Play 上收到了很多崩溃报告,而这并没有发生。如果设备在 layout-sw720p-land 中找不到资源,它将转到 layout 文件夹并加载 b.xml 而不是从 layout-land.xml 加载它。

这可能是什么问题?是设备特定问题吗?

最佳答案

请检查应用程序失败的设备的 os 版本,它应该是 >= 3.2,因为相同及更高版本支持资源名称限定符(sw720 等)。

尝试使用 a.xml 和 b.xml 文件添加 layout-large 和 layout-xlarge 文件夹。

检查此网址 http://developer.android.com/guide/topics/resources/providing-resources.html#BestMatch

关于android - 资源限定符应该如何应对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15264886/

相关文章:

android - 如何在矢量可绘制对象中设置 colors.xml 中的颜色代码?

Android:使用jackson逐对象解析JSON对象

android - Android Activity 的三角形按钮

android - gradle,设置库项目的默认资源

android - 如何在 Android Javadoc 中引用 XML 文件?

android - 如何在Android Studio项目中添加Hamcrest库?

安卓假触摸界面

Android Fragment 行为异常

java - 在 Android 中移动可绘制对象时遇到问题

android - E/iardini.error0 : Invalid ID 0x00000001 - Error resource ID