旋转动画不会在中心点旋转资源

时间:2015-04-29 11:33:55

标签: android mobile android-animation

按下时我正在尝试旋转圆形按钮。我的问题是按钮不会围绕它自己的中心旋转。跟随其他例子但结果是一样的。这是我的代码:

rotate.xml:

?xml version="1.0" encoding="utf-8"?>

<rotate
    android:duration="1500"
    android:interpolator="@android:anim/linear_interpolator"
    android:pivotX="50%"
    android:pivotY="50%"
    android:repeatCount="infinite"
    android:repeatMode="restart"
    android:toDegrees="360" />

在课堂上我正在使用动画:

Animation animRotate = AnimationUtils.loadAnimation(getContext(), R.animator.rotate);

@Override
public boolean onTouchEvent(MotionEvent event) {

Log.e(TAG, "event:::" + event.getAction());

if (event.getAction() == MotionEvent.ACTION_DOWN) {
     view.startAnimation(animRotate);
   view.setBackgroundResource(R.drawable.some_asset);
} else if (event.getAction() == MotionEvent.ACTION_UP ) {
    view.clearAnimation();
   view.setBackgroundResource(R.drawable.some_asset);
}

谢谢!

1 个答案:

答案 0 :(得分:0)

旋转视图的简单方法

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