SeekBarWidget.java 文件源码

java
阅读 33 收藏 0 点赞 0 评论 0

项目:android_ui 作者:
/**
 * Applies current discrete indicator tint from {@link Decorator#mTintInfo} to the current discrete
 * indicator's drawable.
 */
@SuppressLint("NewApi")
@SuppressWarnings("ConstantConditions")
private void applyDiscreteIndicatorTint() {
    this.ensureDecorator();
    if (mDiscreteIndicator == null || !mDecorator.hasTintInfo()) {
        return;
    }
    final Drawable indicator = mDiscreteIndicator instanceof ScaleDrawable ? ((ScaleDrawable) mDiscreteIndicator).getDrawable() : mDiscreteIndicator;
    final SeekBarTintInfo tintInfo = mDecorator.getTintInfo();
    if ((!tintInfo.hasDiscreteIndicatorTintList && !tintInfo.hasDiscreteIndicatorTintMode)) {
        return;
    }
    if (UiConfig.MATERIALIZED) {
        this.mDiscreteIndicator = mDiscreteIndicator.mutate();
        if (tintInfo.hasDiscreteIndicatorTintList) {
            mDiscreteIndicator.setTintList(tintInfo.discreteIndicatorTintList);
        }
        if (tintInfo.hasDiscreteIndicatorTintMode) {
            mDiscreteIndicator.setTintMode(tintInfo.discreteIndicatorTintMode);
        }
        if (mDiscreteIndicator.isStateful()) {
            mDiscreteIndicator.setState(getDrawableState());
        }
        return;
    }
    final boolean isTintDrawable = indicator instanceof TintDrawable;
    final TintDrawable tintDrawable = isTintDrawable ? (TintDrawable) indicator : new TintDrawable(indicator);
    if (tintInfo.hasDiscreteIndicatorTintList) {
        tintDrawable.setTintList(tintInfo.discreteIndicatorTintList);
    }
    if (tintInfo.hasDiscreteIndicatorTintMode) {
        tintDrawable.setTintMode(tintInfo.discreteIndicatorTintMode);
    }
    if (isTintDrawable) {
        return;
    }
    this.mDiscreteIndicator = mDecorator.hasPrivateFlag(PFLAG_DISCRETE) ?
            mAnimations.makeDiscreteIndicatorScaleable(tintDrawable, Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL) :
            tintDrawable;
    mDiscreteIndicator.setCallback(this);
    updateDiscreteIndicatorState(getDrawableState(), false);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号