2011-06-15 90 views
1

我目前正处于开发Android应用的初始阶段。 我知道有3种不同的屏幕密度:HDPI,MDPI和LDPI。我知道大多数手机使用800x480的屏幕分辨率,或者对于老一代的手机,屏幕分辨率为480x320。我需要知道的是这些屏幕分辨率属于哪种密度类别?当我将用于800x480的图像放在MDPI文件夹中时,当我运行该应用程序时,它们会变得模糊。我在Android屏幕密度方面遇到了一些麻烦

有人可以请我通过如何正确地创建这些不同的屏幕分辨率和密度的图像?

回答

-1

没有官方的标准,因为密度大约是每英寸的像素,而不是屏幕分辨率。但是任何具有800x480分辨率的屏幕都很可能来自hdpi文件夹,这就是为什么你看到它模糊。找出目标屏幕密度是什么,用这个公式:

PX = DP *(screen_density/160)

哪里screen_density是设备的屏幕密度。

+0

我的CLIQ是3.2“320x480屏幕,Nexus One是3.7”480x320屏幕。我有适合MDPI文件夹中我的CLIQ的图像,以及适合Nexus One在HDPI文件夹中的图像。图像在我的CLIQ上显示得很好,但在我的姜饼模拟器中,我认为它是从mdpi文件夹中提取的,因此图像被拉伸和模糊。 – Adnan 2011-06-15 22:18:15

+0

联系人不是480x320。 nexus一个是800x480和240密度。我有一个。而关于你的模拟器,它取决于你正在运行的API版本。 – 2011-06-15 23:24:08

0

Olegas链接到您的文档具有设置布局所需的所有信息。

基本上,您希望为每个屏幕大小(以厘米或英寸为单位)创建布局。为此,您需要创建不同的文件夹,并将它们命名为res/layout-smallres/layout-normal,res/layout-largeres/layout/xlarge

您还需要为每个屏幕密度(以dpi为单位)创建不同大小的位图。再次,您需要创建几个替代文件夹:res/drawable-ldpi,res/drawable-mdpires/drawable-hdpi

Android OS将根据设备规格决定使用哪组布局和哪些可绘制的设置。本节描述密度范围:http://developer.android.com/guide/practices/screens_support.html#range

要了解您需要的位图大小,可以按照图标设计指导原则:http://developer.android.com/guide/practices/ui_guidelines/icon_design.html

0

我相信最简单的方法来处理这个问题(而且,据我所知,基础Android源代码完成同样的事情)就是生成一个高清晰度图像并将其放入HDPI文件夹中,然后让Android为您处理缩减采样。当下采样图像没有足够的对比度时,您只需要提供较低分辨率的图像,或者只是看起来不对。我可能是错的,但我还没有找到一个看起来不正确的屏幕组合,至少在图像方面是明智的。布局,好吧,那是别的。

相关问题