android平滑顏色過渡方式

暫時貼一段代碼,沒有時間去描述修改,後續有時間再處理。

ps:bgColorN、bgColorY是十進制顏色值

//初始化切換動畫
if(changeStateBgAnimator == null){
if(isOpen){
changeStateBgAnimator = ObjectAnimator.ofObject(1,TAG,new ArgbEvaluator(),bgColorN,bgColorY);
}else {
changeStateBgAnimator = ObjectAnimator.ofObject(1,TAG,new ArgbEvaluator(),bgColorY,bgColorN);
}
changeStateBgAnimator.setDuration(changeAnimMill);
changeStateBgAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
changeStateBgAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
paintBg.setColor((int)valueAnimator.getAnimatedValue());
postInvalidate();
}
});
}
//根據狀態設置切換動畫的顏色變更
if(isOpen){
changeStateBgAnimator.setObjectValues(bgColorN,bgColorY);
}else {
changeStateBgAnimator.setObjectValues(bgColorY ,bgColorN);
}
//開啓動畫
changeStateBgAnimator.start();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章