我正在为我的应用程序创建一些背景图像,这些图像将覆盖手机/平板电脑屏幕的"整个"屏幕。这些图像用于Splash Screen
。基本上,我的应用程序必须支持手机和平板电脑。
我创建了一个2560x1600的巨大图像,现在是时候调整它的大小了。但事实是,我被困在这里了。mdpi、hdpi、xhdpi、xxhdpi的屏幕大小是多少?这些是从手机到平板电脑的屏幕尺寸,对吧?我需要pixel
值中的这些大小。
我已经访问了android开发者的链接,比如支持多个屏幕,但我没有从中找到任何好的东西。
请通过提供以像素为单位的正确屏幕值来帮助我调整图像大小。
Hdpi、xhdpi等不是屏幕大小,而是屏幕像素密度。如果你想根据屏幕大小调整你的图像,你应该使用小/中/大/超大。(并将其与hdpi/xhdpi/…相结合,以获得清晰准确的结果:)
你总是可以使用一些最常见的分辨率,如高清、全高清、800x480等。但你有一个更大的问题——纵横比的差异。较新的设备倾向于使用16:9的纵横比,但800x480屏幕的旧型号不同,所以你应该考虑一些填充/裁剪,以确保图像不会被拉伸,然后再担心分辨率。
祝你好运:)
编辑:您可以创建自己的资源文件夹,甚至可以使用多个修饰符。
http://developer.android.com/guide/topics/resources/localization.html
只需创建文件夹"drawable small hdpi"或其他什么,它就会工作:)
您也可以使用其他修饰符,例如drawable-de-small应该只在具有小型显示器的"德语"设备上加载指定的drawables。
关于图像大小:文档(您正在链接的文章)状态:
-
x大屏幕至少为960dpx720dp
-
大屏幕至少为640dpx480dp
-
正常屏幕至少为470dpx320dp
-
小屏幕的至少为426dp x 320dp
因此,如果你想要良好的兼容性,你可以这样做(以像素为单位):
-
小mdpi=426x320
-
小hdpi=639x480
-
小型xhdpi=852x640
-
正常mdpi=470x320
-
正常hdpi=。。。。
-
xlarge hpdi=。。。。
-
xlarge xhdpi=1920x1440
请记住,mdpi中的1dp是1px,hdpi中的是1.5px,xhdpi是2px,xxhdpi是3px。
在实践中,你真的看不到很多屏幕很小甚至正常的xxhdpi设备,所以你可以省略一些极端。如果你不在乎在较小的手机上到处拉伸,你甚至可以完全放弃小选项,并依靠match_parent属性来适应图像。
但你仍然需要仔细设计,因为这些只是最小尺寸。
还可以考虑有硬件按钮和软件按钮的手机——有了硬件按钮和相同的屏幕,你的应用程序就有了更多的空间,所以,同样,纵横比不同!
根据我的经验,我建议将你的启动屏幕拆分为必须始终保持"好看"的元素,比如徽标。然后定义一些背景,可以在这里和那里延伸一点。因此,您可以将背景设置为match_parent,并始终覆盖整个屏幕,将"徽标"设置为wrap_content或dp中的固定大小,这样它们的纵横比就不会改变,像素大小也可以轻松计算。