1

我正在使用 ValueAnimator 使列表中的一行有限地从深蓝色变为浅蓝色。但是,我需要在行加载时检查布尔值,当它设置为 false 时,我需要视图返回到其原始的非脉冲状态。这样做的最佳方法是什么?

我的代码如下 -

if(isHighlighted(post)) {
        String titleText = title.getText().toString();
        title.setText(titleText);
        title.setTextColor(Color.WHITE);
        timeStamp.setTextColor(Color.WHITE);
        highLighterStartColor = resources.getColor( R.color.active_blue );
        highLighterEndColor = resources.getColor( R.color.teal );
        ValueAnimator va = ObjectAnimator.ofInt(view, "backgroundColor", highLighterStartColor, highLighterEndColor);
        if(va != null) {
            va.setDuration(750);
            va.setEvaluator(new ArgbEvaluator());
            va.setRepeatCount(ValueAnimator.INFINITE);
            va.setRepeatMode(ValueAnimator.REVERSE);
            va.start();
        }

    } else {
        title.setTextAppearance(activity.getApplicationContext(), R.style.medium_text);
        timeStamp.setTextAppearance(activity.getApplicationContext(), R.style.timestamp_text);
}
4

0 回答 0