Android ValueAnimator onAnimationUpdate не работает правильно
Он не работает правильно, когда я использую анимацию свойств. Ниже мой код. Щелкните по представлению, чтобы выполнить анимацию переключения, но оно не дало ожидаемого результата. Журнал показывает, что обратный вызов "onAnimationUpdate" был вызван только дважды и вернул максимальное значение.
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.product_item_top_rl:
startAnimation(v);
break;
}
}
private void startAnimation(final View v) {
int height = v.getHeight();
ValueAnimator va = ValueAnimator.ofInt(0, height);
va.setDuration(1000);
va.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
Log.d(TAG, "animation : " + animation.getAnimatedValue());
v.getLayoutParams().height = (Integer) animation.getAnimatedValue();
v.requestLayout();
}
});
va.start();
}
Вот ЖУРНАЛ.
D/ChooseProductFragment: animation : 150
D/ChooseProductFragment: animation : 150
1 ответ
Решение
Наконец-то я решил это. Проблема в том, что я просто отключил анимацию на своем тестовом устройстве, когда несколько дней назад проводил тестирование пользовательского интерфейса с эспрессо. Затем я включил анимацию, и теперь она работает.