2020-12-24

public void setTintList(ColorStateList tint) {
    final BitmapState state = mBitmapState;
    if (state.mTint != tint) {
        state.mTint = tint;
        mBlendModeFilter = updateBlendModeFilter(mBlendModeFilter, tint,
                  mBitmapState.mBlendMode);
        invalidateSelf();  //
    }
}

@Override
public void setTintBlendMode(@NonNull BlendMode blendMode) {
    final BitmapState state = mBitmapState;
    if (state.mBlendMode != blendMode) {
        state.mBlendMode = blendMode;
        mBlendModeFilter = updateBlendModeFilter(mBlendModeFilter, mBitmapState.mTint,
                blendMode);
        invalidateSelf();   //
    }
}

https://sickworm.com/?tag=colorstatelist
Selector是什么?就是给Button等控件使用的一个根据状态改变控件颜色或背景的状态器,它一般放在drawable目录下。

Selector状态器理解,两种:
1、作为color和alpha (对应selector 生成ColorStateList.java)《----map {@link android.view.View} state sets to colors.
2、作为drawable (对应selector 生成StateListDrawable.java ===>drawable的集合)

tint的颜色,根据状态
text颜色,根据状态
(所以,tint的颜色和text颜色一致)

====》上述能力没问题

但在帧动画里,出现问题:
1、着色接口没有xml适配
2、如果对每一张图片,都适配出根据状态适配不同颜色的逻辑
----->这部分公共逻辑必然要抽出来
----->因为帧动画是在xml里生成的,必须????这部分逻辑,如果在代码里配置又如何????

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值