【问题标题】:How to make Android properly display screen density based Images?如何使 Android 正确显示基于屏幕密度的图像?
【发布时间】:2015-07-30 03:31:49
【问题描述】:

我有一个基于drawable\ 图像的具有五种不同屏幕密度的 Android 应用。

drawable-hdpi
drawable-mdpi
drawable-xhdpi
drawable-xxhdpi
drawable-xxxhdpi

当我在 LG3 上运行应用程序时,它会显示 mdpi 大小的图像。哪个工作/完美。但是当我在 kindle fire(大得多的屏幕)上运行应用程序时,它仍然显示 mdpi 图像。我认为(并设计了应用程序)可以为 kindle 处理 hdpi 大小的图像。经过一些研究,我发现我使用的 kindle fire 类型也使用 mdpi 屏幕密度。由于kindle的屏幕尺寸SO要大得多,我该如何进行这项工作?我做错什么了吗。 kindle 真的是 hdpi 只是不工作吗?请帮忙。

【问题讨论】:

    标签: android screen screen-density


    【解决方案1】:

    由于kindle的屏幕尺寸大得多,我该如何进行这项工作?

    尺寸是以英寸或毫米为单位测量的。密度以每英寸点数 (dpi) 为单位。

    因此,完全有可能拥有许多屏幕尺寸变化很大的设备,它们都具有相同的屏幕密度。不仅手机(例如,LG G3)和平板电脑(例如,Kindle Fire)可以具有相同的密度,而且有人可以构建一个像墙一样大的屏幕,并且具有相同的密度。

    拥有不同密度的可绘制对象(和 mipmap)意味着当您的应用在具有不同密度的设备上运行时,可绘制对象的大小可能看起来大致相同,只是在更高密度的屏幕上具有更多细节。如果您想要拥有不同屏幕尺寸的可绘制对象,您可以,但您需要拥有更多目录和更多版本的作品。例如,res/drawable-mdpi/ 说“这些资源针对mdpi 密度进行了优化”,res/drawable-w640dp-mdpi/ 说“将这些资源用于当前宽度至少为 4 的设备”(640dp),其中这些资源针对@987654324 进行了优化@密度”。

    【讨论】:

    • 感谢您的澄清,我可能已经知道但不知道屏幕密度。 XD 另外,不是每个想要完美大小的位图的人都必须使用res/drawable-w640dp-mdpi/ 优化他们的图像大小吗?还是有另一种方法可以使每个设备的图像具有相同的百分比大小?例如,让背景位图图像适合每个设备的全屏尺寸。
    • @PythonandAndroidforlife:我不知道你所说的“大小完美”是什么意思。密度将使图像在不同的屏幕密度下保持相同的物理尺寸。但是,鉴于您有更多的屏幕空间,您可能希望更大的图像用于更大的屏幕。 “例如,让背景位图图像适合每个设备的全屏尺寸”——它永远不会适合每个设备的全屏尺寸,因为有很多屏幕纵横比。
    • 是否有可能至少让位图背景图像出现它是一个“背景”,这意味着占用屏幕大小。你也可以给我链接来了解它是如何工作的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-12
    • 2019-12-23
    • 2020-02-21
    • 2023-04-05
    相关资源
    最近更新 更多