0

我不了解旨在支持多种屏幕密度的资源配置限定符的好处,例如:

  • 对于 mdpi,您放置一个 100x100 像素的图标

  • 对于 hdpi,您放置一个 150x150 像素的图标

  • 对于 xhdpi,您放置一个 200x200 像素的图标

然后,您在尺寸为 100 x 100 dip的 imageView 中显示此图标,该图标已在不同尺寸和密度的多个屏幕上保持其尺寸。

为什么我们不直接使用上面资源中的 xhdpi 版本的图标作为基线资源,以便它在更高密度的屏幕上显示得很好,更流畅,同时 android 会重新调整它以适应更低密度的屏幕无论如何,xhdpi 版本的图标就足够了吗?

我希望我的解释清楚,谢谢

4

2 回答 2

1

这样做的主要原因基本上是让您为每个屏幕尺寸定义多个布局,并可以将“相同”图形从一个屏幕尺寸更改为另一个,让我举个例子:假设您有一个活动,其布局是为 mdpi 和 hdpi 屏幕定义。在 hdpi 屏幕中,您会显示一个包含文本的完整横幅(假设此横幅的资源是 R.drawable.topbanner),但是此横幅在调整大小后无法在 mdpi 等较小的屏幕上显示,因此您决定制作此横幅的定时版本,用于具有相同资源 id (R.drawable.topbanner) 的 mdpi 屏幕,您在其中删除了一些文本。现在系统将根据屏幕大小决定使用哪一个。

于 2015-09-28T19:34:04.763 回答
0

当然欢迎您仅-xhdpi发布可绘制对象并根据需要对 Android 进行下采样。我希望许多开发人员都这样做。

但是,请理解您不再能够控制您的可绘制对象在较低密度下的外观。您信任 Android 的可绘制重采样算法,该算法:

  • 与桌面操作系统图形工具相比,将针对低 CPU 和内存使用进行更多优化,因此质量可能不会那么好;和

  • 可能因 Android 操作系统版本而异

以不同的密度运送替代艺术作品可以让您拥有更多的控制权,尽管需要更大的开发工作量和更大的 APK 大小。

如果您不想要那种控制,那是您的选择。同时,请不要吝啬其他开发人员希望拥有这种控制权并在低密度设备上获得可能更高质量的结果。

于 2015-01-11T22:26:29.463 回答