2015-07-18 4 views
0

Я занимаюсь прикладной игрой. У меня есть frameelayout, вращающийся анимацией Rotate. В режиме framelayout появилось несколько изображений. Мне интересно узнать, какое положение Имгаев в каждый момент во время ротации. Прямо сейчас он возвращает мне исходное положение на изображении до того, как произошло поворот.Позиция во время анимации rotate android

Заранее благодарю вас за помощь.

Установка и использование анимации:

private Animation animRotate; 
this.animRotate = AnimationUtils.loadAnimation(this, R.anim.rotate); 
FrameLayout fl = (FrameLayout)this.findViewById(R.id.imageviewlayout); 
fl.startAnimation(animRotate); 
ImageView mimage=(ImageView)this.findViewById(R.id.image); 
mimage.setOnClickListener(this); 

Это rotate.xml

<?xml version="1.0" encoding="utf-8"?> 
<set android:interpolator="@android:anim/linear_interpolator" 
xmlns:android="http://schemas.android.com/apk/res/android"> 
<rotate 
    android:toDegrees="360" 
    android:startOffset="0" 
    android:repeatMode="restart" 
    android:repeatCount="800" 
    android:pivotY="50%" 
    android:pivotX="50%" 
    android:fromDegrees="0" 
    android:duration="4500"/> 
</set> 

Метод OnClick:

@Override 
public void onClick(View v) { 
    float[] locations ={0,0}; 
    locations[0] = v.getX(); 
    locations[1] = v.getY(); 
    Toast.makeText(getApplicationContext(),"x= "+locations[0]+"y = "+locations[1] + "pressed "+!!!!",Toast.LENGTH_LONG).show(); 
    v.setVisibility(View.GONE); 
     } 
+0

при использовании анимации позиция не меняется вообще при анимации, вы должны использовать рамки Animator вместо (ObjectAnimator с "rotation [X | Y]" свойство) – pskink

+0

Я не нашел хороший пример ссылки Я бы hppay записывал то, что вы знаете – gal

+0

Что вы использовали при запросе google? – pskink

ответ

0

Это помогло мне!

FrameLayout fl = (FrameLayout)this.findViewById(R.id.imageviewlayout);  
ObjectAnimator animation = ObjectAnimator.ofFloat(fl, "rotation", 0,360); 
animation.setDuration(4000); 
animation.setRepeatCount(ObjectAnimator.INFINITE); 
animation.setInterpolator(new AccelerateDecelerateInterpolator()); 
animation.start(); 
0

Чтобы получить точный угол поворота во время циклического сдвига анимации под названием:

yourimageview.getRotation(); 
Смежные вопросы