用于不同屏幕密度的UI

时间:2015-01-11 22:18:10

标签: android resources screens

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

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

  • 对于hdpi,你放了一个150x150像素的图标

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

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

为什么我们不在上面的资源中使用图标的xhdpi版本作为基准资源,以便在更高密度的屏幕上显示更好,更平滑,同时android会重新调整它以适应更低的密度屏幕的图标的xhdpi版本是否足够?

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我们非常欢迎您发送-xhdpi drawable并根据需要安装Android。我希望很多开发人员能做到这一点。

但是,请理解您在较低密度下无法控制您的drawables的样子。您信任Android的可绘制重采样算法,其中包括:

  • 将比桌面操作系统图形工具更适合低CPU和内存使用,因此质量可能不高;以及

  • 可能因Android操作系统版本

  • 而异

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

如果您不想控制,那么这是您的选择。同时,请不要嫉妒其他开发者'希望拥有这种控制,并在低密度设备上获得更高质量的结果。