安卓2.1错误:使用res/layout-3而不是res/layout
-
22-09-2019 - |
题
除了一般 res/layout
我有一个文件夹 res/layout-v3
文件夹是为了向后兼容性与安卓1.5,其中有问题
有一些 RelativeLayout
布局。
它完美的作品所有的手机和模拟器的版本中测试所以
远。除2.1(仿真器和Nexus一个)。他们选择显示
安卓1.5布局(res/layout-v3
),而不是默认的 res/
layout
.
其他人可以确认?这是一个安卓OS错误?如果是这样,在那里 是最好的地方提交的错误的报告?
更新:
在阅读了 https://developer.android.com/guide/practices/screens_support.html#qualifiers 再次(谢谢标的暗示),特别是这个部分
资源的使用只能在一个 具体API级别或更高级别。对于 例如,如果应用程序是 设计运行的两安卓1.5 (API Level3)和安卓1.6(API 4级及更高的),可以使用 -v4限定语,以标签的任何资源应当排除当你的 应用程序运行在安卓1.5 (API Level3).
我改变了我的布局以便从有
- res/布图3(为安卓1.5只有-这是一个错误的假设我做了)
- res/布局(其他)
到我的新配置的具有:
- res/布图v4(为安卓1.6和更高)
- res/布局(为什么->在这种情况下,这将是安卓只有1.5)
如果我的理解上述文件正确的,如果我的假设在括号内是正确的这段时间它应该现在的工作。但是,结果如下:
- 安卓1.5是使用res/布图>确定
- 安卓1.6是使用res/布图4->确定
- 安卓2.0是使用res/布图> 不确定
- 安卓2.1使用res/布图4->确定
所以为什么是机器人2.0(两模拟器和摩托罗拉里程碑)不选择正确的布局的资源文件夹?
我测试了它然后再次与2.0.1并且它似乎在那里工作。因此,这似乎是一个错误在2.0其有固定在2.0.1
但现在最奇怪的事情:为了使它在某种程度上运行的2.0我复制的res/布图v4文件夹res/layout-5迫使安卓2.0使用这种布局的资源。没有工作。但是然后我试图复制到res/layout-v6(这应该是安卓2.0.1),瞧所有的突然它的工作与2.0.很奇怪!但我希望这个解决办法将帮助其他几个人在那里。
解决方案
我已经测试了几种设备和模拟器(虽然不是非常彻底的),似乎选择的资源文件夹一个 更高的版本 <=设备的版本.