ViewAnimator использует поворот анимации для перехода между представлениями

Я хочу использовать ViewAnimator для перехода от одного вида к другому (в моем тестовом приложении представления — это TextView). Мои две анимации перечислены ниже. Поведение, которое я вижу, заключается в том, что обе анимации начинаются, как только я запускаю аниматор, в отличие от запуска InAnimation, и после его завершения запускает OutAnimation. То, что я вижу, выглядит как вертушка - вид, вращающийся наружу, перпендикулярен вращающемуся виду. Я хочу, чтобы вид вращался, чтобы перейти от нормального горизонтального положения (0 градусов) к вертикальному (90 градусов); затем я хочу, чтобы вид вращался, чтобы перейти от вертикального (-90 градусов) к горизонтальному (0 градусов).

@anim/rotate_out.xml

<?xml version="1.0" encoding="UTF-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0" android:toDegrees="90" android:pivotX="50%"
    android:pivotY="50%" android:repeatCount="0" android:duration="500"
    android:interpolator="@android:anim/linear_interpolator">
</rotate>

@anim/rotate_in.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:repeatCount="0" android:duration="500"
    android:interpolator="@android:anim/linear_interpolator">
</rotate>

и в основном действии onCreate...

va = (ViewAnimator) findViewById(R.id.ViewFlipper01);
va.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.rotate_in));
va.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.rotate_out));

Любые идеи?


person Ed Sinek    schedule 06.10.2011    source источник


Ответы (2)


может быть ? @anim/rotate_outin.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
  <rotate xmlns:android="http://schemas.android.com/apk/res/android"
      android:fromDegrees="0" android:toDegrees="90" android:pivotX="50%"
      android:pivotY="50%" android:repeatCount="0" android:duration="500"
      android:interpolator="@android:anim/linear_interpolator">
  </rotate>
  <rotate xmlns:android="http://schemas.android.com/apk/res/android"
      android:fromDegrees="0" android:toDegrees="90" android:pivotX="50%"
      android:pivotY="50%" android:repeatCount="0" android:duration="500"
      android:interpolator="@android:anim/linear_interpolator">
  </rotate>
</set>
person A.Quiroga    schedule 06.10.2011
comment
что мне установить для InAnimation и OutAnimation, так как теперь есть только один XML-файл анимации? - person Ed Sinek; 06.10.2011