2013-08-20 4 views
1

Я хочу сделать список анимации с несколькими элементами, и каждый элемент содержит тег поворота. Каков правильный способ его формирования? Есть ли другой способ сделать то же самое? Вот мой код:Как правильно сформировать анимацию xml с несколькими тегами поворота

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:fillAfter="true" > 
    <rotate 
     android:interpolator="@android:anim/linear_interpolator" 
     android:repeatMode="restart" 
     android:fromDegrees="0" 
     android:toDegrees="50" 
     android:pivotX="301" 
     android:pivotY="334" 
     android:duration="1000" 
     android:startOffset="0" 
    /> 



    <rotate 
     android:interpolator="@android:anim/linear_interpolator" 
     android:repeatMode="restart" 
     android:fromDegrees="50" 
     android:toDegrees="20" 
     android:pivotX="301" 
     android:pivotY="334" 
     android:duration="859" 
     android:startOffset="0" 
    /> 

</set> 

Я хочу, чтобы этот xml повторялся, когда он закончился. Пожалуйста помоги.

ответ

2

Пожалуйста расколоть Поворот файлов XML 2 анимации "rotate_0_50.xml" & "rotate_50_20.xml" и попробуйте код ниже:

final Animation anim0_50 = AnimationUtils.loadAnimation(this, R.anim.rotate_0_50); 
final Animation anim50_20 = AnimationUtils.loadAnimation(this, R.anim.rotate_50_20); 

final View animView = findViewById(R.id.anim_view) 
anim0_50.setAnimationListener(new AnimationListener() {   
    @Override 
    public void onAnimationStart(Animation animation) {}    
    @Override 
    public void onAnimationRepeat(Animation animation) {}   
    @Override 
    public void onAnimationEnd(Animation animation) { 
     animView.startAnimation(anim50_20);       
    } 
}); 

anim50_20.setAnimationListener(new AnimationListener() {    
    @Override 
    public void onAnimationStart(Animation animation) {}    
    @Override 
    public void onAnimationRepeat(Animation animation) {}   
    @Override 
    public void onAnimationEnd(Animation animation) { 
     animView.startAnimation(anim0_50);       
    } 
}); 

animView.startAnimation(anim0_50); 
+1

Благодаря этим работам. Разве нет способа сделать это в одном xml? – mremremre1

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

  • Нет связанных вопросов^_^