旋转图像到指定的方向

我想旋转一个箭头来指定一些指定的位置:

float bearing = myLoc.bearingTo(mecca);
      RotateAnimation rotate = new RotateAnimation(0, bearing, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
      arrow.setAnimation(rotate);
      rotate.start();

现在是旋转,但是不到一秒又回到了原来的位置。如何让它像指南针一样旋转?

一个简单的方法来选择一个imageView :

Matrix matrix=new Matrix();
imageView.setScaleType(ScaleType.MATRIX);   //required
matrix.postRotate((float) angle, pivX, pivY);
arrow.setImageMatrix(matrix);

设置 Animation 中的 Duration:

animation.setDuration(1500);
Where Duration is int(miliseconds)