Как использовать StateListAnimator?

В docs:

Новый класс StateListAnimator позволяет определять аниматоры, которые запускаются при изменении состояния представления. В следующем примере показано, как определить StateListAnimator как ресурс XML:

<!-- animate the translationZ property of a view when pressed --> <selector xmlns:android="http://schemas.android.com/apk/res/android">  
  <item android:state_pressed="true">
    <set>
      <objectAnimator android:propertyName="translationZ"
        android:duration="100"
        android:valueTo="2"
        android:valueType="floatType"/>
        <!-- you could have other objectAnimator elements
             here for "x" and "y", or other properties -->
    </set>   
  </item>   
  <item android:state_enabled="true"
    android:state_pressed="false"
    android:state_focused="true">
    <set>
      <objectAnimator android:propertyName="translationZ"
        android:duration="100"
        android:valueTo="2"
        android:valueType="floatType"/>
    </set> 
  </item> 
</selector>

Однако он ничего не говорит о том, как использовать этот XML файл. В классе Resources, по-видимому, нет метода для получения StateListAnimator, а класс StateListAnimator также не предоставляет никакой информации.

Как мы можем это использовать?

Ответ 1

В Android L новый атрибут xml был добавлен для просмотра:

android:stateListAnimator   : Sets the state-based animator for the View.

Дополнительно для создания объекта StateListAnimator программным способом новый метод:

loadStateListAnimator(Context context, int id)

был добавлен в AnimatorInflater.

Их можно найти в пакете документации предварительного просмотра разработчика Android L.