/**
* Updates tint of the wrapped drawable depends on the specified <var>stateSet</var>.
*
* @param stateSet State set to properly resolve tint color.
* @return {@code True} if tint has ben updated, {@code false} otherwise.
*/
private boolean updateTint(int[] stateSet) {
if ((mPrivateFlags & PFLAG_HAS_COLOR_FILTER) == 0) {
if (mTintList != null && mTintMode != null) {
final int tintColor = mTintList.getColorForState(stateSet, mCurrentTint);
if (tintColor != mCurrentTint || (mPrivateFlags & PFLAG_TINT_COLOR_CACHING_ENABLED) == 0) {
super.setColorFilter(new PorterDuffColorFilter(tintColor, mTintMode));
this.mCurrentTint = tintColor;
}
} else {
super.clearColorFilter();
}
}
return false;
}
TintDrawable.java 文件源码
java
阅读 38
收藏 0
点赞 0
评论 0
项目:android_ui
作者:
评论列表
文章目录