单击时,我想在 ImageButton 中进行以下操作:
1-两倍大小
2-在第1步之后,开始减少直到它是一个点,同时使用淡出效果
3-保持不可见
我怎样才能做到这一点?
单击时,我想在 ImageButton 中进行以下操作:
1-两倍大小
2-在第1步之后,开始减少直到它是一个点,同时使用淡出效果
3-保持不可见
我怎样才能做到这一点?
为此使用ScaleAnimation,它会使 ImageButton 的大小加倍
ScaleAnimation setSizeForTop = new ScaleAnimation(1, 2, 1, 2);
现在,
top.startAnimation(setSizeForTop);
用于减小尺寸
setSizeForTop = new ScaleAnimation(1, .5f, 1, .5f);
对于我们使用的淡出效果
Animation fadeOut = new AlphaAnimation(1, 0);
fadeOut.setInterpolator(new AccelerateInterpolator()); //and this
fadeOut.setStartOffset(1000);
fadeOut.setDuration(1000);
AnimationSet animation = new AnimationSet(false); //change to false
animation.addAnimation(fadeIn);
animation.addAnimation(fadeOut);
this.setAnimation(animation);
对于隐形
ImageButton.setImageVisibility(gone);
看看 Honeycomb 中引入的 ValueAnimator(但也向后移植到了一个名为 NineOldAndroids 的库中)。
在您的 onClick 按钮中,您将从 XML 加载动画,或以编程方式创建动画,然后启动它。
您可以使用动画师集一个接一个地运行多个动画。
下面是一些(未经测试的)示例代码:
//set up the scale and fade animation set
AnimatorSet scaleAndFadeSet = new AnimatorSet();
scaleAndFadeSet.playTogether( ValueAnimator.ofFloat(myButton, "alpha", 1.0f, 0f), ObjectAnimator.ofFloat(myButton, "scale", 2.0f, 0f));
// the top level animation set
AnimatorSet set = new AnimatorSet();
set.playTogether(ObjectAnimator.ofFloat(myButton, "scale", 0, 2.0f),scaleAndFadeSet);
set.setDuration(1000);// 1s animation
set.start();