如您所知,Android应用程序具有不同的DPI,而且在Android应用程序中,我们可以在drawable
,ldpi
,mdpi
和{hdpi
,xhdpi
,xxxhdpi
和{{1}}中添加{{1}}个不同的DPI {1}}文件夹。
问题是,当我们想要支持所有DPI时,我们应该添加各种尺寸的图标,还是只添加最大尺寸的图标?
我的意思是假设我有一个带有图标的操作栏项。我是否应该使用24x24(在drawable-mdpi文件夹中),36x36(在drawble-hdpi文件夹中),48x48(在drawable-xhdpi文件夹中)添加此操作栏项的图标,.....
或者我只需要在{{1}}文件夹中添加一个尺寸为96x96的图标,android会为其他DPI设置质量好的图标吗?
答案 0 :(得分:4)
TLDR请参阅下面的粗体
稍后为Android添加了不同的密度文件夹,这意味着......
如果您想要懒惰并且只是添加一个资产,那么最好的选择可能是 HDPI 资产,如果您的 min app target< 8 和 XHDPI ,如果> = 8 。这是因为系统会上下调整资源,但您仍然希望以尽可能高的分辨率开始。
如果您希望完全控制资产的缩放方式,那么您可以通过各种方式为所有/部分密度提供自己的密度。 在实践中,我通常提供如上所述的HDPI / XHDPI,并提供所有资源桶,例如徽标/ AB图标/应用程序图标等。我通常发现自动缩放非常好并适用于大多数情况,但偶尔会必须提供和额外的LD / MD资产,如果它是一个小资产/包含小文本等。另外,如果我复制像XXXHDPI这样的东西的所有资产我会得到相当不错的apk膨胀。
您还可以使用内置工具的IDE一次为多个密度添加单个资产。在Android Studio 0.6中,这是File-> New-> Image Asset,将出现一个向导。
我从未注意到或听说过允许Android自动扩展资产的任何性能影响 - 大概这是在硬件中完成的。
自动缩小到LDPI时可能看起来不太好,所以你可以选择为所有其他密度提供自己的缩放资产。
取自以下链接
从this dev链接中获取的列表以获取更多信息。
这是我在职业生涯中使用的许多应用程序的方法,包括Google和Google的应用程序。英国广播公司并没有问题。