5

我有两个布局文件夹,layout-sw600dp用于 7" Tablet (1024X600) mdpi 和另一个名称layout-xlarge为 12" Tablet (1280X800) mdpi。问题是,当我在 7" 模拟器中运行我的项目时,它会从layout-xlarge文件夹而不是layout-sw600dp.为我提供解决此问题的有效解决方案。在此先感谢。

4

2 回答 2

10

这里要记住的是,使用swXXXdp资源标识符仅适用于运行 Android 3.2+ 的设备(即添加时)。旧设备将无法识别,因此不会使用这些标识符,因此如果您打算支持运行 Android < 3.2 的平板电脑,则必须使用旧标识符 ( small, normal, large, )。xlarge截至目前,只有 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" 平板电脑布局。

于 2013-03-14T20:52:16.143 回答
1

布局文件夹的选项非常多。您不仅可以指定诸如layout-land/or之类的内容layout-large,还可以指定它们的混合,例如layout-large-land/or layout-xhdpi-land/您可以在 Android Developers中查看所有限定词。

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

于 2013-03-14T13:42:42.663 回答