Это старый вопрос, и мне интересно, сталкивался ли кто-нибудь еще с этой проблемой.Я сделал сегодня.Вот как я создал обходной путь.Я все еще использую ObjectAnimator
с классом-оболочкой (это было подсказкой в документации Android)
Класс-оболочка для TextView:
private class AnimatedTextView {
private final TextView textView;
public AnimatedTextView(TextView textView) {this.textView = textView;}
public String getText() {return textView.getText().toString();}
public void setText(String text) {textView.setText(text);}
}
С этим классом вы можете использовать ObjectAnimator:
ObjectAnimator.ofObject(new AnimatedTextView((TextView) findViewById(R.id.shortcutLabel)), "Text", new TypeEvaluator<String>() {
@Override
public String evaluate(float fraction, String startValue, String endValue) {
return (fraction < 0.5)? startValue:endValue;
}
}, "3", "2", "1", "0")
.setDuration(3000L)
.start();
Этот фрагмент кода выполняет обратный отсчет от 3 до 0 за 3 секунды.