除了一般 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.很奇怪!但我希望这个解决办法将帮助其他几个人在那里。

有帮助吗?

解决方案

我已经测试了几种设备和模拟器(虽然不是非常彻底的),似乎选择的资源文件夹一个 更高的版本 <=设备的版本.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top