Edu*_*lho 5 resources icons android launch mdpi
我是新来的Android开发(使用单声道Android版),我读过这,这 这和其他一些问题上的SO这里,但我不知道如何提供所有必要的文件图标我的应用程序.
drawable/包含48x48 px Icon.png文件的文件夹.drawable-hdpi/ic_launcher.png (72x72像素)
drawable-mdpi/ic_launcher.png (48x48像素)
drawable-xhdpi/ic_launcher.png (96x96像素)
drawable-xxhdpi/ic_launcher.png (144x144像素)
(我不知道为什么,但Android Asset Studio没有生成ldpi版本,所以我自己调整了36x36图标.)
现在我迷路了
1.我应该维持既有48x48像素的副本drawable-mdpi/和drawable/?
如果我只保留图标drawable-mdpi/,那么应用程序可能会在Android的旧设备/版本上崩溃(因为缺少默认资源)?1.如果我只在drawable/(后备)中保留图标,那么使用的重点是什么drawable-mdpi/?
由于我不确切知道该怎么做,我将项目可绘制文件夹保留如下:
drawable/ic_launcher.png (48x48像素)
drawable-hdpi/ic_launcher.png (72x72像素)
drawable-ldpi/ic_launcher.png (36x36像素)
drawable-mdpi/ic_launcher.png (48x48像素)
drawable-xhdpi/ic_launcher.png (96x96像素)
drawable-xxhdpi/ic_launcher.png (144x144像素)
但对我来说仍然不清楚.
编辑:
如果我提供所有可能的"替代"资源,那么default(drawable/)资源文件夹将变为冗余,因此我可以删除它.但是我不愿意提供默认资源,因为做相反的事情似乎更合理:首先提供"默认"资源,然后根据需要提供"替代"资源.
这个引用有点长,但您应该阅读文档中有关此内容的内容:
在运行时,系统确保在当前屏幕上以最佳方式显示任何给定资源的以下过程:1.系统使用适当的替代资源根据当前屏幕的大小和密度,系统使用任何大小和 - 您的应用程序中提供的密度特定资源.例如,如果设备具有高密度屏幕并且应用程序请求可绘制资源,则系统会查找与设备配置最匹配的可绘制资源目录.根据可用的其他备用资源,具有hdpi限定符的资源目录(例如drawable-hdpi /)可能是最佳匹配,因此系统使用此目录中的可绘制资源.
2.如果没有可用的匹配资源,系统将使用默认资源并根据需要向上或向下扩展以匹配当前屏幕大小和密度"默认"资源是未使用配置限定符标记的资源.例如,drawable /中的资源是默认的可绘制资源.系统假定默认资源是针对基线屏幕尺寸和密度设计的,这是正常的屏幕尺寸和中等密度.因此,系统会根据需要为高密度屏幕缩放默认密度资源,为低密度屏幕缩小默认密度资源.
但是,当系统查找特定于密度的资源但未在密度特定的目录中找到它时,它将不会始终使用默认资源.系统可以改为使用其他密度特定资源中的一个,以便在缩放时提供更好的结果.例如,当寻找低密度资源并且它不可用时,系统倾向于缩小资源的高密度版本,因为系统可以轻松地将高密度资源缩放到低密度资源.与将中密度资源缩放0.75倍相比,因子为0.5,伪影更少.
因此,系统将为运行应用程序的任何设备寻找最佳尺寸的drawable.如果系统正在寻找48x48的启动器图标,它将以drawable-mdpi/first显示,因为文档建议您在该文件夹中放置一个48x48图标.既然你已经提供了,那么应用程序就没有必要在drawable /文件夹中查找默认图像.即使它确实如此,也不会有益,因为你已经提供了相同大小的图标.
如果你提供的只是一个特定的drawable的一个大小,你的应用程序不应该在任何设备上崩溃,即使你提供的大小是非常错误的.在这种情况下,图像看起来很糟糕,因为系统会加载您提供的单个图像.因此,如果您在drawable-*dpi文件夹中获得了图像,则不需要drawable /中的副本.
TL; DR
不,如果你已经有一个drawable-mdpi /,你将不需要在drawable文件夹中放入48x48的ic_launcher.png副本,因为系统会先选择那个.
| 归档时间: |
|
| 查看次数: |
6971 次 |
| 最近记录: |