7英寸平板电脑的布局文件夹名称

5
我有两个布局文件夹,layout-sw600dp 用于 7 英寸平板电脑 (1024X600) mdpi,另一个名称为 layout-xlarge 用于 12 英寸平板电脑 (1280X800) mdpi。问题是,当我在 7 英寸模拟器中运行项目时,它选择了来自 layout-xlarge 文件夹的布局,而不是 layout-sw600dp。我也尝试了其他解决方案,如更改不同网站中给出的文件夹名称,但无法找到适合我的问题的解决方案。请为我提供一个可行的解决方案。提前感谢您的帮助。
2个回答

10
需要记住的是,使用swXXXdp资源标识符仅适用于运行Android 3.2+(添加该功能的版本)的设备。旧设备无法识别并因此不会使用这些标识符,因此,如果您打算支持运行Android < 3.2的平板电脑,则必须使用旧标识符(smallnormallargexlarge)。截至目前,只有0.3%的平板电脑运行Android 3.1(API 12),因此不完全支持它们是一个安全的选择 - http://developer.android.com/about/dashboards/index.html
有一篇博客非常好地解释了如何使用这些新的资源标识符。 http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html 对于您的特定问题,假设您仅支持Android 3.2+的平板电脑布局,请将layout-xlarge文件夹更改为layout-sw720dp以支持10英寸以上的平板电脑,并且layout-sw600dp将支持7英寸的平板电脑布局。

Steven Byle先生,非常感谢您的帮助。我将模拟器API级别更改为13,问题得到了解决。但是,当我在Nexus(7.27英寸)上运行我的项目时,出现了一些小问题,因为它也使用layout-w600dp,但其分辨率为tvdpi(800X1280),因此某些UI元素无法正确显示。 - Varun Singh

1
布局文件夹的选项非常广泛。你不仅可以指定像layout-land/layout-large这样的东西,还可以指定它们的混合物,比如layout-large-land/layout-xhdpi-land/。你可以在Android Developers上看到所有的限定符。

对于你的问题,请检查你的平板模拟器的尺寸是否是正确的屏幕分辨率。在创建AVD时,您可以指定特定的屏幕分辨率。此外,在指定layout-sw600dp/时,它会检查当前运行活动的实际可用宽度。例如,在运行4.2的平板电脑上,屏幕底部的约50dp用于系统栏,如果不全屏,则某些用于顶部操作栏。这些会减少实际的dp至少不到600。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接