2016-03-10 10 views
1

Новый настраиваемый селектор AnimatedStateListDrawable позволяет определять анимацию, когда селектор переходит из одного состояния в другое.
В документации и до сих пор в Интернете есть только примеры определений XML этого нового класса.
Моя проблема: Я хочу создать это программно:Как определить (программно) переход в AnimatedStateListDrawable

AnimatedStateListDrawable astld= new AnimatedStateListDrawable(); 
    astld.addState(KEY_STATE_PRESSED, pressedKey); 
    astld.addState(StateSet.WILD_CARD, normalKey); 
    astld.addTransition(??????????????); 

, но я не могу найти, где я могу получить или установить, идентификаторы состояний (fromId и toId), необходимых для перехода ,

общественного недействительный addTransition (интермедиат fromId, Int toId, Т переход, булев обратимого)
Добавлены в уровне API 21
добавляет новый переход между ключевыми кадрами.

Параметры:
fromId Уникальный идентификатор исходного ключевого кадра
toId Уникальный идентификатор, заканчивающийся ключевой кадр
переход Animatable вытяжке, чтобы использовать в качестве перехода, не может быть нулевым
обратимым Независимо от того, может ли переход быть отменен

ответ

0

Наконец-то я обнаружил, что существует новый метод addState() с другой сигнатурой, которая включает в себя параметр ID.

общественная недействительная addState (ИНТ [] stateSet, Drawable вытяжка, Int ID)
Добавлено уровня API 21
Добавить новую вытяжку в набор ключевых кадров.

Параметры
stateSet Массив идентификаторов ресурсов, чтобы связать с ключевым кадром
вытяжка растяжимым, чтобы показать, когда в указанном состоянии, не могут быть нулевым
ID Уникальным идентификатора для ключевого кадра