我有一个需要适配所有屏幕尺寸的背景。我有三个文件夹,hdpi
、ldpi
和mdpi
用于绘制可伸缩图片,但在模拟器中没有任何参考说明什么是hdpi
分辨率,以及mdpi
和ldpi
分别是什么。
您应该阅读 支持多个屏幕。 您必须在模拟器上定义dpi。 240是hdpi,160是mdpi,低于此的通常是ldpi。
从上面链接的Android开发者指南中提取:
320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).
480dp: a tweener tablet like the Streak (480x800 mdpi).
600dp: a 7” tablet (600x1024 mdpi).
720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).
更新日期:2014年7月30日
如果您使用的是Android Studio,请确保您至少具有144x144像素的资源,然后使用“文件-新建-图像资产”。Android Studio将为您创建适当的图像文件,以便放置在各个文件夹中:)
如文档所示,请按照以下方式调整位图:
几乎每个应用程序都应该为不同的屏幕密度提供替代的可绘制资源,因为几乎每个应用程序都有一个启动器图标,该图标应在所有屏幕密度上显示良好。同样,如果您在应用程序中包含其他位图可绘制对象(例如菜单图标或应用程序中的其他图形),则应为每个不同密度提供其替代版本。
注意:您只需要为位图文件(.png、.jpg 或 .gif)和 Nine-Path 文件(.9.png)提供特定于密度的可绘制对象。如果您使用 XML 文件来定义形状、颜色或其他可绘制资源,则应将一份副本放在默认的 drawable 目录(drawable/)中。
要为不同的密度创建替代位图可绘制对象,应遵循四个广义密度之间的3:4:6:8缩放比例。例如,如果您具有一个中等密度屏幕(启动器图标的大小)为48x48像素的位图可绘制对象,则所有不同大小的位图可绘制对象应如下:
36x36 用于低密度 (LDPI)
48x48 用于中密度 (MDPI)
72x72 用于高密度 (HDPI)
96x96 用于超高密度 (XHDPI)
144x144 用于超超高密度 (XXHDPI)
192x192 用于超超超高密度 (XXXHDPI)
这份文档在确定性解决方案方面相当简略。经过一些研究,我找到了以下解决方案:Android启动画面图片尺寸适配所有设备
虽然这个方案主要针对启动画面设计,但同样适用于应占满整个屏幕的图片。