在android中嵌套两个动画

时间:2011-08-15 10:56:50

标签: java android animation

我想在点击其中一个按钮时实现alpha动画。

动画是:Alpha从1下降到0.5,当它再次从0.5回到0.5时回到0.5。 骑自行车两个动画。我该怎么做?是否可以在/res/anim文件夹中的xml文件中定义它,或者是否需要使用AnimationListener

由于

2 个答案:

答案 0 :(得分:4)

您可以使用简单的AlphaAnimation对象来执行此操作。将重复模式设置为setRepeatMode(Animation.REVERSE),将alpha从0.5更改为1.0,将setRepeatCount(count)更改为重复次数。

示例动画xml:

<alpha
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="1.0"
android:toAlpha="0.5"
android:duration="1000" />

加载xml的代码:

Animation a = AnimationUtils.loadAnimation(this, R.anim.alpha);
a.reset();
a.setRepeatMode(Animation.REVERSE);
a.setRepeatCount(5); // will be infinite if -1
Button btn = (Button ) findViewById(R.id.btn);
btn.clearAnimation();
btn.startAnimation(a);

代码只是一个示例。希望这有效。

答案 1 :(得分:1)

我使用AnimationListeners完成了类似的操作。对动画进行通知,然后在彼此的AnimationListener onAnimationEnd()方法中调用它们。不能说这是否是实现这种效果的唯一方法,但不过这样可行。