bilibili/MagicaSakura

TintImageView使用VectorDrawable 设置tint切换主题无法生效问题。

Caij opened this issue · 5 comments

Caij commented

android 8.0 不行 5.1可以。

Caij commented

#54 感觉这样改应该可以。

  • 不好意思间隔了这么久才回复您, 非常感谢提出issue并找到了问题的原因。
  • 关于这个bug我有些不同的看法,已在#54提出,我们可以继续讨论 😀
Caij commented
  1. 刚才看了下问题, 原因是你说的问题导致的。
  2. Drawable invalidateSelf 最终触发的流程是ImageView invalidate, 一般和直接调用ImageView invalidate 这块效率在什么地方会有差异。

我理解错了,从imageView自身实现的callback来看,当drawable不变的时,callback最后都是调用的invalidate方法,但是之前会额外去尝试更新drawlabe已缓存的大小,所以直接还是建议特殊来处理VectorDrawable

Caij commented

嗯 问题差不多了