0

我有以下布局文件夹:layout、layout-large、layout-xlarge、layout-sw720dp

据我所知,对于 Android 3.2+,如果您至少有一个使用新大小量词的文件夹,那么它假定您在任何地方都使用这些新大小量词,并忽略任何其他使用旧量词的文件夹。

由于我有一个带有新量词的文件夹(即 layout-sw720dp),我希望 Nexus 7 从默认布局文件夹中选择布局。但它是从 layout-large 文件夹中选择布局。有人可以帮我理解为什么吗?

4

2 回答 2

1

在这里,我找到了我的问题的解决方案:对于 Android 3.2+,如果您至少有一个使用新大小量词的文件夹,那么它假定您在任何地方都使用这些新大小量词,并忽略任何其他使用旧量词的文件夹。

但是 Android 确定您是否有一个带有新大小量词的文件夹的方式略有不同。它检查新的大小量词文件夹仅等于和低于它正在运行的设备的 sw。

例如,对于 Nexus 7,Android 会按 sw600dp、sw480dp、sw360dp、sw320dp 的顺序查找文件夹,最后如果这些文件夹都不存在,它会从布局文件夹中挑选。虽然存在 sw720dp,但并未考虑在内,因为它超出了 nexus 7 设备的范围。

于 2014-01-09T11:44:18.963 回答
1

只需将您在 layout-large 中的相同文件添加到layout-sw480dp或从其中引用布局。

无论如何:由于大多数低于 3.0 的设备都是手机,它们很可能不是large,而且xlarge几乎没有运行 android 3.0 或 3.1 的设备,我强烈建议完全放弃layout-largelayout-xlarge坚持使用新文件夹。

于 2013-08-30T07:19:05.923 回答