2016-04-14 2 views
1

Я хочу использовать ObjectAnimator на Drawable (не View). Допустим, что у меня есть ImageView и с Drawable в качестве источника:ObjectAnimator on Drawable object

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

То, что я хочу, что только myDrawable анимированный, а не, например, фон установлен на ImageView.

Теперь, если я применить ObjectAnimator на вытяжке ничего не происходит:

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

Почему?

+0

Вы попробовали Анимацию? – Ricardo

+0

Вы должны применить это к imageView, используйте другое представление в качестве фона, если вам это нужно. – Nanoc

+0

@Ricardo 'AnimationDrawable' не является« ObjectAnimator »и заставляет вас иметь несколько« Drawable »в качестве анимационных кадров. – brescia123

ответ

0

Благодаря @pskink комментарии я понял, в чем была проблема: Drawable имеет свойство альфа как int и не float.

ObjectAnimator animator = ObjectAnimator.ofInt(myDrawable, "alpha", 255, 0); 
Смежные вопросы