В Android ObjectAnimator заменяет длительность на 0 (ноль) в режиме энергосбережения. Кроме того, в Android P Beta это поведение по умолчанию, даже если режим энергосбережения выключен. Есть ли замена для этого вида линейной анимации? Я хочу реализовать индикатор прогресса в точности как Instagram, Facebook и WhatsApp. Заранее спасибо.
ObjectAnimator animator = ObjectAnimator.ofInt(scrollProgressBar, "progress", 100);
animator.setInterpolator(new LinearInterpolator());
animator.setDuration(duration);
animator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
// Logic
recyclerView.smoothScrollToPosition(mPosition + 1);
}
});
animator.start();
Я также пытался запустить в потоке пользовательского интерфейса, но он не работает
new Handler().post(new Runnable() {
@Override
public void run() {
ObjectAnimator animator = ObjectAnimator.ofInt(scrollProgressBar, "progress", 100);
animator.setInterpolator(new LinearInterpolator());
animator.setDuration(duration);
animator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
// Logic
recyclerView.smoothScrollToPosition(mPosition + 1);
}
});
animator.start();
}
});