2016-04-14 15 views
1

Drawable (View değil) üzerinde bir ObjectAnimator kullanmak istiyorum. ı bir ImageView ve Drawable olarak kaynağı ile var diyelim:ObjectAnimator Drawable nesnesi

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/imageView" 
    android:background="@color/myColor" 
    android:src="@drawable/myDrawable/> 

İstediğim sadece myDrawable animasyon ve örneğin arka plan ImageView üzerinde ayarlanmamış olmasıdır. Ben çekilebilir hiçbir şey bir ObjectAnimator uygularsanız

Şimdi olur:

ImageView imageView = (ImageView) findViewById(R.id.imageView); 
Drawable myDrawable = imageView.getDrawable(); 
ObjectAnimator animator = ObjectAnimator.ofFloat(myDrawable, "alpha", 1f, 0f); 
animator.setDuration(1000); 
animator.start(); 

Neden? Drawable bir int değil float olarak alfa özelliği vardır:

+0

AnimationDrawable'ı denediniz mi? – Ricardo

+0

Bunu, imageView uygulamasına uygulamanız gerekiyor, gerekirse başka bir görünümü arka plan olarak kullanmalısınız. – Nanoc

+0

@Ricardo 'AnimationDrawable' bir' ObjectAnimator' değildir ve sizi birden fazla 'Drawable' 'u animasyon karesi olarak oluşturmaya zorlar. – brescia123

cevap

0

Teşekkür Sorunun ne anladım yorumlarınızı @pskink için.

ObjectAnimator animator = ObjectAnimator.ofInt(myDrawable, "alpha", 255, 0); 
İlgili konular