2014-06-27 21 views
15

: Yeni StateListAnimator sınıfı sağlarStateListAnimator nasıl kullanılır? <a href="https://developer.android.com/preview/material/animations.html#viewstate">docs</a> itibaren

Eğer çalıştırmak animatörler tanımladığınızda bir görünüm değişiklikleri durumu. Aşağıdaki örnek bir XML kaynak olarak bir StateListAnimator tanımlamak nasıl gösterir:

<!-- 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> 

Ancak, hakkında hiçbir şey söylemez nasıl aslında kullanım bu xml dosyası. StateListAnimator almak için Resources sınıfında hiçbir yöntem yoktur ve StateListAnimator sınıfı da herhangi bir bilgi sağlamamaktadır.

Bunu nasıl kullanabiliriz? StateListAnimator nesneyi programlı yeni bir yöntem başlatmasını için ek

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

: yeni xml öznitelik Görünüm için eklenmiştir Android L olarak

cevap

17

loadStateListAnimator(Context context, int id) 

eklendi AnimatorInflater.

Bunlar, Android L geliştirici öneri dökümantasyon paketinde bulunabilir.

+8

Bir kod parçacığı için StateListAnimator sla = AnimatorInflater.loadStateListAnimator (context, R.anim.my_anim); View.setStateListAnimator (SLA); – Justin

İlgili konular