我有带 hdpi(240 dpi 分类)的 7 英寸屏幕(600×1024)的平板电脑。
我已经创建了文件夹layout-sw600dp
。但它不适用于这款分辨率平板电脑。
它在带有 mdpi(160 dpi 分类)的 7 英寸屏幕(600×1024)上工作正常。
我应该为具有 hdpi(240 dpi 分类)的 7" (600×1024) 平板电脑创建哪个文件夹?
我有带 hdpi(240 dpi 分类)的 7 英寸屏幕(600×1024)的平板电脑。
我已经创建了文件夹layout-sw600dp
。但它不适用于这款分辨率平板电脑。
它在带有 mdpi(160 dpi 分类)的 7 英寸屏幕(600×1024)上工作正常。
我应该为具有 hdpi(240 dpi 分类)的 7" (600×1024) 平板电脑创建哪个文件夹?
这取决于您正在构建的 Android API 版本,如下所述:
...但是,这在 3.2 之前的设备上效果不佳,因为它们不将 sw600dp 识别为大小限定符,因此您仍然必须使用 large 限定符。因此,您应该有一个名为 res/layout-large/main.xml 的文件,它与 res/layout-sw600dp/main.xml 相同。在下一节中,您将看到一种技术,可让您避免以这种方式复制布局文件。
你也应该看看这里:
和
使您的布局像这样:
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
希望这会帮助你。
在android中,我们使用分辨率dp
来衡量屏幕大小,而不是分辨率px
。您的两台平板电脑在 中的分辨率相同px
,但在 中的分辨率dp
却大不相同。
600 X 1024 像素,mdpi = 600 * 1024 dp
600 X 1024 像素,hdpi = 400 * 682 dp
您sw600dp
用作平板电脑的限定符,这将影响第一个设备,但不会影响第二个设备。
事实上,第二个设备(400 * 682dp),更像是手机而不是平板电脑,它不应该使用平板电脑的布局。