在Android中的Drawable上应用animation

我为徽标添加了发光animation效果。 到目前为止,我已经设法使用LayeredDrawable获得徽标背后的辉光图像,但我无法弄清楚如何为其设置animation效果。 我发现AlphaAnimation会达到预期的效果,但不幸的是,我只能将它应用于Views,而不是Drawables。 我怎样才能达到这个效果?

Solutions Collecting From Web of "在Android中的Drawable上应用animation"

Android 3.0引入了Property Animations 。

不幸的是,这仅限于Android 3.0及以上版本,不会很快上手。

简单的例子

final ImageView imageView = (ImageView) findViewById(R.id.animatedImage); final Button animated = (Button) findViewById(R.id.animated); animated.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Drawable drawable = imageView.getDrawable(); if (drawable.getAlpha() == 0) { ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(drawable, PropertyValuesHolder.ofInt("alpha", 255)); animator.setTarget(drawable); animator.setDuration(2000); animator.start(); } else { ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(drawable, PropertyValuesHolder.ofInt("alpha", 0)); animator.setTarget(drawable); animator.setDuration(2000); animator.start(); } } }); 

方法getAlpha()添加到api 19.但是这不是一个很大的限制,你可以把状态保存在一个局部variables中。 ObjectAnimator在Android 3.0(api 11)中添加,也许旧版Android可以使用nineoldandroids 。 我没有testingnineoldandroids。

我在ImageView上使用显示drawable的Animation。 我认为这也应该在你的情况下。