Последовательная анимация вложенных множеств - PullRequest
0 голосов
/ 19 сентября 2018

В настоящее время я работаю над анимацией заставки Android. Документация Google по ресурсам анимации гласит, что <set> имеет атрибут android:ordering, который "определяет порядок воспроизведения анимаций в этом наборе" .Существует два (не требующих пояснения) варианта:

  • sequentially
  • together (по умолчанию)

В файле animation.xml ниже показаннебольшая реализация, но способ ее выполнения отличается от того, что я ожидал.Все вложенные наборы выполняются одновременно, хотя я определил android:ordering="sequentially" для их родителя.Я ожидал, что только содержимое каждого вложенного набора будет показано одновременно.Не влияет ли атрибут упорядочения родительского набора на вложенные множества?

Мне известно о решении, предложенном в этого ответа , но я не вижу причины, по которой мое определение последовательноговыполнение анимации не должно работать так же хорошо.

animation.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:ordering="sequentially">
    <set>
        <alpha
            android:duration="400"
            android:fromAlpha="0"
            android:interpolator="@anim/interpolator"
            android:toAlpha="0.4" />
        <scale
            android:duration="400"
            android:fromXScale="0"
            android:fromYScale="0"
            android:interpolator="@anim/interpolator"
            android:pivotX="30%"
            android:pivotY="50%"
            android:toXScale="0.4"
            android:toYScale="0.4" />
    </set>
    <set>
        <alpha
            android:duration="200"
            android:fromAlpha="0.4"
            android:toAlpha="0.3" />
        <scale
            android:duration="200"
            android:fromXScale="0.4"
            android:fromYScale="0.4"
            android:pivotX="30%"
            android:pivotY="50%"
            android:toXScale="0.3"
            android:toYScale="0.3" />
    </set>
</set>

1 Ответ

0 голосов
/ 26 сентября 2018

Нет атрибута ordering в наборе анимации .

Я думаю, что вы путаете анимацию свойства (определяется как res/animator/... ресурсы) и просмотр анимации res/anim/...).

Оба могут иметь элемент <set>, но синтаксис различен.Для свойства анимации , это:

<set
  android:ordering=["together" | "sequentially"]>
...

, и это создает AnimatorSet

в то время как для просмотра анимации , это:

<set
    android:interpolator="@[package:]anim/interpolator_resource"
    android:shareInterpolator=["true" | "false"] >
...

, который создает AnimationSet

...