1、动画时间:如果是xml定义的值,需要使用getResources().getInteger(int)获取值
2、动画重复次数:Integer.MAX_VALUE 改为Integer.MAX_VALUE>>2
mIconAnimator = new ValueAnimator(); mIconAnimator.setDuration(getResources().getInteger(android.R.integer.config_mediumAnimTime)); mIconAnimator.addUpdateListener( new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { int rotation = (int) animation.getAnimatedValue(); Log.e("OkHttp", "rotation=" + rotation); ivButtonIcon.setRotation(rotation); } } ); mIconAnimator.setRepeatCount(1); mIconAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
mIconAnimator.cancel(); int from = (int) (ivButtonIcon.getRotation() % 360f); int to = reset ? 0 : 90; if (from == to) return; mIconAnimator.setIntValues(from, to); mIconAnimator.start();