1

我正在尝试旋转箭头以指向某个特定位置

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

然而,它旋转并在不到一秒钟的时间内回到原来的位置。我怎样才能让它像指南针一样旋转。

4

3 回答 3

2

另一种旋转 imageView 的简单方法:

Matrix matrix=new Matrix();
imageView.setScaleType(ScaleType.MATRIX);   //required
matrix.postRotate((float) angle, pivX, pivY);
arrow.setImageMatrix(matrix);
于 2013-02-12T17:02:58.293 回答
1

只需尝试设置动画的持续时间,例如

animation.setDuration(1500);
Where Duration is int(miliseconds)
于 2013-02-13T09:57:51.333 回答
1

你试过了吗:

rotate.setFillAfter(true)
于 2013-02-12T17:08:22.710 回答