4

根据 > Android 1.6 版本管理资源(图像),我们需要将不同分辨率的图像保存在 Drawable-Hdpi、Drawable-Mdpi、Drawable-Lpi 文件夹中。

根据这个页面:http: //developer.android.com/guide/practices/screens_support.html

在低密度部分 - 使用了三种分辨率:240*320、240x400、240x432 用于小屏幕、普通屏幕、特别是大屏幕。

中密度部分的方法相同 - 使用了三种分辨率:320x480、480x800、480x854 用于小屏幕、普通屏幕、特别是大屏幕。

和高密度相同的方式............

但我在这里很困惑:

(1) 我怎么知道是使用小屏幕、普通屏幕还是大屏幕,我的意思是有什么办法知道吗?

(2) 我如何知道我使用的是哪种密度?

(3) 在Drawable-Hdpi、Drawable-Mdpi、Drawable-ldpi文件夹中,我们应该特别保留哪个分辨率的图片?

请分享你的知识。

4

3 回答 3

7

有特定的 Android API 调用可以在运行时告诉您手机的密度和(小/大/正常)屏幕尺寸。但是,作为开发人员,我们根本不需要担心个别手机。我们需要做的就是在 apk 中有 ldpi/mdpi/hdpi 资产和小/正常/大布局。Android 在内部处理一切。

不要忘记深入了解 Android 如何确定要使用的资产和别名

于 2010-09-27T14:21:26.233 回答
3

为什么要知道实际密度?这是安卓的事。但我确信有一种方法可以检索这些信息。

为了开发,我把所有东西都放在了 hdpi 文件夹中。我也可以把所有东西都放在一个通用的可绘制文件夹中。

在您发布时,您可以决定是否要为 ldpi 和 mdpi 提供已经缩减的资源。但是,这不是必需的。

更新: 使用此类最佳实践检索实际密度

更新 2:我发现了一段来自摩托罗拉的 25 分钟视频,讨论了所有这些问题:使用多个屏幕

于 2010-09-27T14:19:51.740 回答
1

1)更改不同文件夹中布局的内容,即layout-small,layout-large等现在在具有不同屏幕分辨率的不同模拟器中测试它。

2)用于找出设备使用的密度
Log.d("Density", "" + (getResources().getDisplayMetrics().density));

于 2011-10-13T07:44:39.710 回答