Переход между 3 цветами фона - PullRequest
0 голосов
/ 23 марта 2019

В настоящее время я использую следующее для переключения между 2 цветами фона:

background_Transition.xml

<?xml version="1.0" encoding="UTF-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- TODO: HIGHER FPS, may require programmatic transitioning -->
    <item android:drawable="@drawable/background_start" />
    <item android:drawable="@drawable/background_end" />
</transition>

background_start.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/colorPrimary" />
</shape>

background_end.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/background_end" />
</shape>

MainActivity.java

...
// fade from start to end 
backgroundTransition.startTransition(DURATION);
// fade from current state to other state (used to fade from end to start)
backgroundTransition.reverseTransition(DURATION);
...

У меня есть 3 проблемы с этим решением.

  1. Как вы, возможно, заметили из комментария TODO:, FPS действительно низок при этом переходе.
  2. Он может передавать только между 2состояния;Теперь я хочу переключиться между третьим.
  3. Метод reverseTransition класса Transition не идемпотентно работает, как startTransition.Это переворачивает состояние перехода.Я не хочу иметь возможность идемпотентного перехода в одно из N состояний перехода.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...