0

我有带 hdpi(240 dpi 分类)的 7 英寸屏幕(600×1024)的平板电脑。

我已经创建了文件夹layout-sw600dp。但它不适用于这款分辨率平板电脑。

它在带有 mdpi(160 dpi 分类)的 7 英寸屏幕(600×1024)上工作正常。

我应该为具有 hdpi(240 dpi 分类)的 7" (600×1024) 平板电脑创建哪个文件夹?

4

3 回答 3

0

这取决于您正在构建的 Android API 版本,如下所述

...但是,这在 3.2 之前的设备上效果不佳,因为它们不将 sw600dp 识别为大小限定符,因此您仍然必须使用 large 限定符。因此,您应该有一个名为 res/layout-large/main.xml 的文件,它与 res/layout-sw600dp/main.xml 相同。在下一节中,您将看到一种技术,可让您避免以这种方式复制布局文件。

你也应该看看这里:

准备听筒

管理屏幕尺寸的新工具

于 2013-07-11T05:29:14.183 回答
0

使您的布局像这样:

res/layout/main_activity.xml           # For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml   # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml   # For 10” tablets (720dp wide and bigger)

对于选项卡

例如,如果您的应用程序仅适用于具有 600dp 最小可用宽度的平板设备:

<supports-screens
                  android:requiresSmallestWidthDp="600" />

在此处输入图像描述

我有7" 屏幕 (600×1024) 和 hdpi (240 dpi 分类) 的平板电脑,它在普通屏幕下看我的屏幕截图。它在 7" 屏幕 (600×1024) 和 mdpi (160 dpi 分类)下工作正常这是大屏幕下的。

对于平板电脑

多个屏幕:

例如,以下是应用程序中的资源目录列表,该应用程序为不同的屏幕尺寸提供不同的布局设计,并为中、高和超高密度屏幕提供不同的位图可绘制对象。

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

res/drawable-mdpi/my_icon.png        // bitmap for medium density
res/drawable-hdpi/my_icon.png        // bitmap for high density
res/drawable-xhdpi/my_icon.png       // bitmap for extra high density

希望这会帮助你。

于 2013-07-11T05:23:11.033 回答
0

在android中,我们使用分辨率dp来衡量屏幕大小,而不是分辨率px。您的两台平板电脑在 中的分辨率相同px,但在 中的分辨率dp却大不相同。

  1. 600 X 1024 像素,mdpi = 600 * 1024 dp

  2. 600 X 1024 像素,hdpi = 400 * 682 dp

sw600dp用作平板电脑的限定符,这将影响第一个设备,但不会影响第二个设备。

事实上,第二个设备(400 * 682dp),更像是手机而不是平板电脑,它不应该使用平板电脑的布局。

于 2013-07-11T05:36:19.453 回答