Androidでビューの背景色をアニメーションで変更する 質問する

Androidでビューの背景色をアニメーションで変更する 質問する

Android でビューの背景色の変化をアニメーション化するにはどうすればよいですか?

例えば:

背景色が赤いビューがあります。ビューの背景色が青に変わります。色をスムーズに切り替えするにはどうすればよいですか?

ビューでこれが実行できない場合は、代替手段が歓迎されます。

ベストアンサー1

新しいプロパティアニメーション APIカラーアニメーションの場合:

int colorFrom = getResources().getColor(R.color.red);
int colorTo = getResources().getColor(R.color.blue);
ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), colorFrom, colorTo);
colorAnimation.setDuration(250); // milliseconds
colorAnimation.addUpdateListener(new AnimatorUpdateListener() {

    @Override
    public void onAnimationUpdate(ValueAnimator animator) {
        textView.setBackgroundColor((int) animator.getAnimatedValue());
    }

});
colorAnimation.start();

Android 2.xとの下位互換性を保つには9つの古いアンドロイドのライブラリジェイク・ウォートンより。

このgetColorメソッドは Android M では非推奨になったため、次の 2 つの選択肢があります。

  • サポート ライブラリを使用する場合は、getColor呼び出しを次のように置き換える必要があります。

    ContextCompat.getColor(this, R.color.red);
    
  • サポート ライブラリを使用しない場合は、getColor呼び出しを次のように置き換える必要があります。

    getColor(R.color.red);
    

おすすめ記事