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

关于ProgressBar的问题 #36

Open Caij opened 7 years ago

Caij commented 7 years ago

AppCompatProgressBarHelper.loadFromAttribute(){ TypedArray array = mView.getContext().obtainStyledAttributes(attrs, ATTR, defStyleAttr, 0); if (array.hasValue(0)) { mProgressTintResId = array.getResourceId(0, 0); setSupportProgressTint(array.getColorStateList(0)); } if (array.hasValue(1)) { mIndeterminateTintResId = array.getResourceId(1, 0); setSupportIndeterminateTint(array.getColorStateList(1)); } array.recycle(); }

改成下面 AppCompatProgressBarHelper.loadFromAttribute(){ TypedArray array = mView.getContext().obtainStyledAttributes(attrs, ATTR, defStyleAttr, 0); if (array.hasValue(0)) { mProgressTintResId = array.getResourceId(0, 0); setSupportProgressTint(hemeUtil.getThemeColorStateList(mProgressTintResId)); } if (array.hasValue(1)) { mIndeterminateTintResId = array.getResourceId(1, 0); setSupportIndeterminateTint(ThemeUtil.getThemeColorStateList(mIndeterminateTintResId)); } array.recycle(); }

这样可以避免replaceColor这个方法里面替换颜色 感觉这个方法太不可靠了, 只需要replaceColorById 这个里面替换颜色id就行, id替换感觉更加可靠。