Одновременно применять одну анимацию к нескольким представлениям

Поэтому Id нравится вращать несколько представлений одновременно, используя все те же характеристики вращения. Проблема в том, что по какой-то причине вращение действует по-разному для второго элемента. По-видимому, это связано с тем, что объект анимации фактически меняет состояние между этими двумя строками кода. Очевидно, я мог бы создать отдельный объект Animation и применить его, но я чувствую, что есть более простой способ (у меня около 15 просмотров)

Правильно поворачивает только первое изображение:

Animation rotateAnim = AnimationUtils.loadAnimation(this, R.anim.rotationtoportrait); target.startAnimation(rotateAnim); lightBtn.startAnimation(rotateAnim); 

Правильно поворачивается

 Animation rotateAnim = AnimationUtils.loadAnimation(this, R.anim.rotationtoportrait); Animation rotateAnim2 = AnimationUtils.loadAnimation(this, R.anim.rotationtoportrait); target.startAnimation(rotateAnim); lightBtn.startAnimation(rotateAnim2); 

XML:

 <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="-90" android:toDegrees="0" android:pivotX="50%" android:pivotY="50%" android:duration="500" android:fillAfter="true"> 

У кого-нибудь есть идеи?

    Делай это так:

     ObjectAnimator anim = ObjectAnimator.ofFloat(view, "y", 100f); arrayListObjectAnimators.add(anim); ObjectAnimator anim1 = ObjectAnimator.ofFloat(view, "x", 0f); arrayListObjectAnimators.add(anim1); ObjectAnimator[] objectAnimators = arrayListObjectAnimators.toArray(new ObjectAnimator[arrayListObjectAnimators.size()]); AnimatorSet animSetXY = new AnimatorSet(); animSetXY.playTogether(objectAnimators); animSetXY.duration(1000); animSetXY.start(); 

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

     public void doRotations(ArrayList<View> views, int start, int end, int xprop, float xscale, int yprop, float yscale, int duration, Boolean fillAfter){ for(int i = 0; i < views.size(); i++){ RotateAnimation temp = new RotateAnimation(start, end, xprop, xscale, yprop, yscale); temp.setDuration(duration); temp.setFillAfter(fillAfter); views.get(i).startAnimation(temp); } } 

    Определенно рубить, но я думаю, что все, что я могу сделать прямо сейчас