bilibili / MagicaSakura

MagicaSakura 是 Android 多主题框架。~ is an Android multi theme library which supporting both daily colorful theme and night theme.
http://app.bilibili.com
Apache License 2.0
3.55k stars 468 forks source link

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

Closed Caij closed 6 years ago

Caij commented 6 years ago

android 8.0 不行 5.1可以。

Caij commented 6 years ago

https://github.com/Bilibili/MagicaSakura/pull/54 感觉这样改应该可以。

xyczero commented 6 years ago
Caij commented 6 years ago
  1. 刚才看了下问题, 原因是你说的问题导致的。
  2. Drawable invalidateSelf 最终触发的流程是ImageView invalidate, 一般和直接调用ImageView invalidate 这块效率在什么地方会有差异。
xyczero commented 6 years ago

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

Caij commented 6 years ago

嗯 问题差不多了