一個(gè)需求是旋轉(zhuǎn)ImageView中的src知市,而不旋轉(zhuǎn)background傻盟。使用的是
RotateDrawable,僅修改xml的src的drawable即可
image_rotate.xml 設(shè)置
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:visible="true" // 是否可見
android:pivotX="50%" // 圓心
android:pivotY="50%" // 圓心
android:fromDegrees="0" // 起始
android:toDegrees="360" // 結(jié)束
android:drawable="@drawable/ic_launcher_round"
>
</rotate>
代碼部分
// level的MAX_LEVEL為10000.(參照RotateDrawable源碼)
ValueAnimator anim = ValueAnimator.ofInt(0, 10000);
private void startAnim() {
anim.setRepeatMode(ValueAnimator.RESTART);
anim.setRepeatCount(ValueAnimator.INFINITE);
anim.setDuration(1500);
anim.setInterpolator(new LinearInterpolator());
anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
int curr = (int)animation.getAnimatedValue();
Log.d(TAG, "onAnimationUpdate: curr " + curr);
mImageView.setImageLevel(curr);
}
});
anim.start();
}
private void stopAnim() {
if (anim != null && anim.isRunning()) {
anim.end();
}
}