2012-04-23 2 views
1

Я хочу повернуть изображение динамически (не по XML-коду). Я использую этот код, чтобы повернуть изображение:Как динамически поворачивать изображение на своем месте?

public void rotateAnimation(){ 
    // Create an animation instance 
    Animation an = new RotateAnimation(30, 360); 

    // Set the animation's parameters 
    an.setDuration(2000);    // duration in ms 
    an.setRepeatCount(0);    // -1 = infinite repeated 
    an.setRepeatMode(Animation.REVERSE); // reverses each repeat 
    an.setFillAfter(true);    // keep rotation after animation 


    // Aply animation to image view 
    scanCircle.setAnimation(an); 
} 

Используя этот код, мой ImageView получить вращаться, но его не на своей позиции, но за пределами своей позиции. Я хочу повернуть его на свое место.

Итак, как это сделать?

ответ

3

я думаю, что позиция pivotx & pivotY будет полезно http://developer.android.com/reference/android/view/animation/RotateAnimation.html#RotateAnimation%28float,%20float,%20float,%20float%29

RotateAnimation(float fromDegrees, float toDegrees, float pivotX, float pivotY) 

Предположим, если вы хотите, чтобы повернуть с середины, то

RotateAnimation(30, 360, totalWidth/2, totalHeight/2) 
+0

Спасибо, но totalWidth из которых? ImageView или дисплей? –

+0

курса Диска :). –

+1

Его не дисплей, его изображение Image, на котором я хочу вращать анимацию. его работы сейчас. Благодарю. –

Смежные вопросы