我有一个TextView,它根据SeekBar给出的值改变颜色:

if ((inOne >= 70 && inOne <= 90) && (inTwo >= 40 && inTwo <= 60)) {
            tvRes.setText("LOW");
            tvRes.setBackgroundColor(Color.parseColor("#73539E"));
            rlO.setBackgroundColor(Color.parseColor("#9973539E"));
        }
        if ((inOne >= 70 && inOne <= 90) && (inTwo >= 61 && inTwo <= 80)) {
            tvRes.setText("IDEAL");
            tvRes.setBackgroundColor(Color.parseColor("#679800"));
            rlO.setBackgroundColor(Color.parseColor("#99679800"));
        }
        if ((inOne >= 70 && inOne <= 90) && (inTwo >= 81 && inTwo <= 90)) {
            tvRes.setText("PRE-HIGH");
            tvRes.setBackgroundColor(Color.parseColor("#967400"));
            rlO.setBackgroundColor(Color.parseColor("#99967400"));
        }


inOneinTwoSeekBar值。

它工作100%没有任何问题。我一直想做的是,不仅要改变颜色,还希望它使从一种颜色到另一种颜色的淡入淡出成为动画。我该如何实现?

我在看这个例子:SO Example不太清楚。

最佳答案

我最近开设了一个帮助器类来在颜色之间建立动画,您可以在here中找到它。也许有一定用处?

至于如何使用它,它的用法与其他Animator非常相似:

ColorAnimator.ofColor(view, "color", Color.BLACK, Color.WHITE).start();


对于背景色,请使用ViewBackgroundWrapper(EDIT或新的便捷方法):

ColorAnimator.ofBackgroundColor(tvRes, Color.parseColor("#679800")).start();


这将为代码段中的第一个背景色设置动画。

关于android - 在TextView背景色中淡入淡出过渡,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20874059/

10-11 22:40