覆盖 Android 中的可绘制对象

问题描述

我在 PlayerNotificationManager

的 ExoPlayer 文档中偶然发现了以下信息

PlayerNotificationManager 使用的 drawable 可以被应用程序中定义的具有相同名称的 drawable 覆盖。

覆盖可绘制对象 - 我不知道该怎么做:

  1. 我是否应该使用文档中指定的确切名称创建自己的可绘制对象 - 例如 exo_notification_rewind.xml
  2. 我可以创建一个 XML 映射文件 - 像 /res/values/drawables.xml 吗?

drawables.xml 的内容为:

<resources>
  <drawable name="exo_notification_fastforward">@drawable/my_custom_fastforward_icon</drawable>
  <drawable name="exo_notification_rewind">@drawable/my_custom_rewind_icon</drawable>
</resources>

我尝试了两种方法。我不能排除 Android Studio 缓存问题,但这两种方法在我的项目中都不起作用。

所以,如果有人知道重写 Drawables 的规范方式......那将是非常棒的。

解决方法

我想出的解决方案是在 values.xml 中使用此内容创建 /res/values/ 文件。

<resources>
    <drawable name="exo_notification_fastforward">@drawable/my_custom_fastforward_icon</drawable>
    <drawable name="exo_notification_rewind">@drawable/my_custom_rewind_icon</drawable>
</resources>

我不确定,为什么上面列出的其他解决方案对我不起作用。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...