使用属性动画时,它无法正常工作。以下是我的代码。单击视图以执行切换动画,但它没有达到预期的结果。日志显示" 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();
}
这是LOG。
D/ChooseProductFragment: animation : 150
D/ChooseProductFragment: animation : 150
答案 0 :(得分:3)
我终于解决了。问题是我几天前用浓缩咖啡进行了UI测试时关闭了我的测试设备上的动画。然后我打开了动画,现在就可以了。