Android资源文件夹,用于精确的屏幕大小

Android资源文件夹,用于精确的屏幕大小,android,resources,screen-size,Android,Resources,Screen Size,从Android 3.2开始,我有一个奇怪的问题 很容易复制: 创建一个空项目 添加values-480x320/resource目录 将此新文件夹中的某些字符串(例如@string/hello)更改为与值/目录中的默认字符串不同 现在,在3.1及更低版本的Android设备和模拟器上,一切都如您所期望的那样。但在3.2及更高版本(包括4.x Galaxy Nexus和模拟器)上,使用values-480x320/代替values/folder 值得一提的是,我没有看到兼容性“拉伸/缩放以填充屏

从Android 3.2开始,我有一个奇怪的问题

很容易复制:

  • 创建一个空项目
  • 添加values-480x320/resource目录
  • 将此新文件夹中的某些字符串(例如@string/hello)更改为与值/目录中的默认字符串不同
  • 现在,在3.1及更低版本的Android设备和模拟器上,一切都如您所期望的那样。但在3.2及更高版本(包括4.x Galaxy Nexus和模拟器)上,使用values-480x320/代替values/folder

    值得一提的是,我没有看到兼容性“拉伸/缩放以填充屏幕”图标。我尝试更改支持屏幕并在AndroidManifest.xml中使用sdk标记,但它们无法解决此问题

    所以我的问题是:为什么会发生这种情况,你有什么建议来解决它

    顺便说一句,我真的不明白为什么Android版本从3.1到3.2的如此微小的变化会破坏旧的应用程序


    提前谢谢

    我想3.2中的算法有所改变。尝试创建包含限定符的不同值文件夹。

    如果您感兴趣,建议基本上不要使用基于固定分辨率的资源文件夹,如values-480x320。

    看看这里,也许会有所帮助:没有人在Android中使用过“*-480x320/”资源???感谢这些支持人员!如果我删除旧样式(例如values-480x320)文件夹,并将其替换为新样式(例如values-sw320dp)文件夹,则问题将在新的3.2+平台上得到解决。但同时,3.1和更低版本的Androids的布局也会中断,因为它们根本不“理解”新的3.2样式的后缀…如果两个文件夹都有新的和旧的后缀,会发生什么?通常,新样式的文件夹会被完全忽略,如果有一个,会被480x320文件夹取代。但我尝试了各种新旧样式的组合,发现了一些有用的东西——对于WVGA800/240dpi emulator,您可以声明values-sw300dp,这个文件夹将使values-480x320中的资源被“忽略”——如果您不在values-sw300dp中指定@string/hello,将使用默认值/目录中的@string/hello。这个补丁非常混乱,所以我正在寻找更好的。