除了常规res/layout
文件夹,我还有res/layout-v3
用于向后兼容Android 1.5的文件夹,存在问题
有一些RelativeLayout
布局。
它与所有经过测试的手机和仿真器版本完美配合
远。 2.1(模拟器和Nexus One)除外。他们选择展示
Android 1.5布局(res/layout-v3
)而非默认res/
layout
。
其他人可以确认一下吗?这是Android操作系统错误吗?如果是的话,在哪里 是提交错误报告的最佳地点吗?
更新
再次阅读https://developer.android.com/guide/practices/screens_support.html#qualifiers后(感谢Mark提示),尤其是这部分
仅供a使用的资源 特定API级别或更高级别。对于 例如,如果您的应用程序是 旨在在Android 1.5上运行 (API级别3)和Android 1.6(API 4级及以上),你可以使用 -v4限定符,用于标记在您的时候应该排除的任何资源 应用程序在Android 1.5上运行 (API级别3)。
我改变了布局顺序
到我的新配置:
如果我理解上述文档是正确的,并且如果我在括号中的假设是正确的,那么它现在应该可以正常工作。但结果如下:
那么为什么Android 2.0(在Emulator和Motorola Milestone上)没有选择正确的布局资源文件夹呢?
我再用2.0.1测试它,它似乎在那里工作。所以这似乎是2.0中的一个错误,它在2.0.1中被修复了
但现在最奇怪的事情是:为了使它以某种方式在2.0上运行,我将res / layout-v4文件夹复制到res / layout-v5以使用此布局资源强制Android 2.0。没工作。但后来我尝试将它复制到res / layout-v6(应该是Android 2.0.1)并且突然之间它与2.0一起工作。很奇怪!但我希望这种解决方法能够帮助其他一些人。
答案 0 :(得分:4)
我已经测试了几个设备和模拟器(虽然不是很彻底),并且所选资源文件夹似乎是更高版本< =设备版本的文件夹。