首页 > 解决方案 > mipmap 启动器图标的别名

问题描述

是否有可能以某种方式为 mipmap 图标制作别名?例如,我们有一个名为 icon_app 的图标,但在我们的库中我们使用 ic_launcher(应该是这样)。因此,对于可绘制对象,您可以创建参考values/drawables.xml

我尝试了以下方法:

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <item name="ic_launcher" type="mipmap">@mipmap/icon_app</item>
</resources>

但它似乎不起作用我尝试将它命名为drawables.xml和mipmaps.xml,它似乎总是试图从drawable而不是mipmap文件夹中引用它?

标签: androiddrawable

解决方案


进一步的尝试表明,最初发布的代码在编译到设备上时运行良好,但 Android Studio 无法识别。

我希望为系统默认启动器图标起别名,这似乎可行:

<resources>
    <item name="test_alias" type="mipmap">@android:mipmap/sym_def_app_icon</item>
</resources>

...就像这些:

<resources>
    <mipmap name="test_alias">@android:mipmap/sym_def_app_icon</mipmap>
    <mipmap name="test_alias2">@mipmap/ic_test</mipmap>
</resources>

...我的资源文件夹ic_test中的“正常”mipmap 在哪里。res/mipmap


为了解释我的情况的用例,上面的代码在一个库项目中。mipmap 在库中声明,test_alias以便我可以使用它来放置Notification.

但目的是使用该库的开发人员将能够使用他们自己的启动器或他们选择的其他图标,通过在他们自己的代码中添加类似这样的东西来覆盖这个图标,覆盖库定义:

<resources>
    <mipmap name="test_alias">@mipmap/ic_launcher</mipmap>
</resources>

推荐阅读