ロゴにグロー アニメーション効果を追加しています。これまでのところ、LayeredDrawable を使用してロゴの背後にあるグロー イメージを取得できましたが、アニメーション化する方法がわかりません。AlphaAnimation で目的の効果が得られることがわかりましたが、残念ながら、Drawables ではなく Views にのみ適用できます。どうすればこの効果を達成できますか?
質問する
14174 次
4 に答える
9
簡単な例
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 で追加されました。しかし、これは大きな制限ではありません。ステータスをローカル変数に保存できます。ObjectAnimator
Android 3.0 (api 11) を追加すると、古いバージョンの Android でもnineoldandroidsを使用できる可能性があります。私はnineoldandroidsでテストしませんでした。
于 2014-11-11T14:13:01.790 に答える
3
Android 3.0 ではProperty Animationsが導入されました。
残念ながら、これは Android 3.0 以降に限定されており、すぐに携帯電話に搭載されることはありません。
于 2011-05-22T00:16:14.033 に答える
-2
ドローアブルを表示する ImageView でアニメーションを使用しています。これはあなたの場合でも可能であるべきだと思います。
于 2010-05-25T08:11:57.217 に答える