我想在点击其中一个按钮时实现alpha动画。
动画是:Alpha从1下降到0.5,当它再次从0.5回到0.5时回到0.5。
骑自行车两个动画。我该怎么做?是否可以在/res/anim
文件夹中的xml文件中定义它,或者是否需要使用AnimationListener
?
由于
答案 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()
方法中调用它们。不能说这是否是实现这种效果的唯一方法,但不过这样可行。