我有一个刷新按钮,我想要旋转,直到获取地理位置。 问题是它只旋转一个循环并停止。
refresh_button_rotate.xml :
<?xml version="1.0" encoding="utf-8"?>
<set>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromDegrees="0"
android:interpolator="@android:anim/linear_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360" />
</set>
MainFragment :
refreshGeo.setOnClickListener( new OnClickListener() {
@Override
public void onClick(View v) {
Animation rotation = AnimationUtils.loadAnimation( mContext, R.anim.refresh_button_rotate );
rotation.setRepeatCount(Animation.INFINITE);
rotation.setRepeatMode(Animation.RESTART);
refreshGeo.startAnimation(rotation);
我也试过了另一种方法:
RotateAnimation anim = new RotateAnimation(0f, 350f, 15f, 15f);
anim.setInterpolator(new LinearInterpolator());
anim.setRepeatCount(Animation.INFINITE);
anim.setDuration(700);
final ImageView splash = refreshGeo;
splash.startAnimation(anim);
它会不停地旋转图像,但会从视图的左上角旋转它。
答案 0 :(得分:1)
您使用的RotateAnimation构造函数的签名 RotateAnimation(float fromDegrees,float toDegrees,float pivotX,float pivotY)
如果需要根据您的要求修复pivotX,pivotY。即如果你想从中心旋转而不是使用(width / 2,height / 2)(pivotX,pivotY)。