ImageView只旋转一次(Android)

时间:2015-12-31 09:35:31

标签: android button rotation imageview

我有一个刷新按钮,我想要旋转,直到获取地理位置。 问题是它只旋转一个循环并停止。

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);

它会不停地旋转图像,但会从视图的左上角旋转它。

1 个答案:

答案 0 :(得分:1)

您使用的RotateAnimation构造函数的签名 RotateAnimation(float fromDegrees,float toDegrees,float pivotX,float pivotY)

如果需要根据您的要求修复pivotX,pivotY。即如果你想从中心旋转而不是使用(width / 2,height / 2)(pivotX,pivotY)。