代码之家  ›  专栏  ›  技术社区  ›  Paresh Mayani jeet

Android-屏幕分辨率和屏幕密度

  •  4
  • Paresh Mayani jeet  · 技术社区  · 15 年前

    根据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文件夹中,我们应该特别保存哪个分辨率的图像?

    请分享你的知识。

    3 回复  |  直到 13 年前
        1
  •  7
  •   omermuhammed    15 年前

    有一些特定的Android API调用可以在运行时告诉您手机的密度和(小/大/普通)屏幕大小。然而,作为一个开发者,我们根本不需要担心单个手机。我们需要做的就是在APK中拥有ldpi/mdpi/hdpi资产和小/普通/大的布局。Android内部处理一切。

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

        2
  •  3
  •   OneWorld    13 年前

    你为什么想知道实际密度?这是安卓的业务。但我相信有一种方法可以找回这些信息。

    为了开发,我把所有东西都放在hdpi文件夹中。我也可以把所有东西放在一个普通的可抽出的文件夹里。

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

    更新: Retrieve actual density with this class best practices

    更新2: 我发现摩托罗拉25分钟的视频讨论了所有这些问题: Working with multiple screens

        3
  •  1
  •   Flexo - Save the data dump sunny moon    14 年前

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

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

    推荐文章