2016-07-05 13 views
5

ObjectAnimator ve ViewPropertyAnimator değişen özellik değeri arasındaki fark nedir? devam etmektedir objectAnimator yukarıda iken Android ObjectAnimator vs ViewPropertyAnimator

ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(myObject, "X", 0.0f, 100.0f); 

Ben myObject.getX() çalıştı ve ben 100.0 0.0f arasındaki on-the-yol değeri var. Ben myObject.getX() ' ViewPropertyAnimator yukarıda iken devam etmektedir d zaman

myObject.setX(0.0f); 
myObject.animate().x(100.0f); 

Ancak, kesin 100.0 aldım.

Bu farkı yaratan şeyin ne olduğunu anlayamıyorum.

Şimdiden teşekkürler. Eğer bir ViewPropertyAnimator kullanarak x alanını canlandırmak istekte

cevap

5

, aslında x alan animasyon değil - translateX alanını canlandırır. Bu nedenle x alan değişikliğini göremezsiniz. Android kaynak kodu itibaren

ViewPropertyAnimator.java yılında: Öte yandan
case X: 
    renderNode.setTranslationX(value - mView.mLeft); 
    break; 

ObjectAnimator

özelliklerine animasyon uygulamak için yansıma kullanır - ziyade desteklenen eylemler hafıza listesi daha. Ve "X" alanını canlandırmayı söylediğinizde, doğrudan "setX" olarak adlandırılır.

+0

Ne ViewPropertyAnimator.translationX() hakkında? Bu, ViewPropertyAnimator.x() ve translationX() aslında aynı anlama geliyor mu? – Hwang

+0

translationX ayrıca çeviriX'i de etkiler, sadece görünümün mLeft değerini telafi etmeden. –

+0

Bu cevabın doğru olduğunu düşünmüyorum. Referansın var mı? – black

İlgili konular