我们画了那么都能动的图,但是在它动的过程中我们只能袖手旁观,能不能对动画的状态加一些
监听呢,android.view.animation.Animation.AnimationListener;动画监听器,现在对我们上节课所学的平移动画做监听。
监听三种:
public void onAnimationEnd(Animation arg0) //结束
public void onAnimationRepeat(Animation arg0) //重复
public void onAnimationStart(Animation arg0) //开始
现在我们完成一个实例,实现动画完成以后移除组件,也就是图画。
代码如下:
public class MainActivity extends Activity { ImageView image; ViewGroup group; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); image=(ImageView)super.findViewById(R.id.image); group=(ViewGroup)super.findViewById(R.layout.activity_main); } public void begin(View v){ AnimationSet set=new AnimationSet(true); TranslateAnimation trans=new TranslateAnimation( Animation.RELATIVE_TO_SELF,0.0f, Animation.RELATIVE_TO_SELF,0.5f,//以自身0.5宽度为轴 Animation.RELATIVE_TO_SELF,0.0f, Animation.RELATIVE_TO_SELF,1.5f);//以y轴原点进行计算 trans.setRepeatCount(3); trans.setInterpolator(new AccelerateDecelerateInterpolator()); set.addAnimation(trans);//增加动画 set.setDuration(3000);//三秒完成动画 set.setAnimationListener(new AnimationListener(){ @Override public void onAnimationEnd(Animation arg0) { // TODO Auto-generated method stub MainActivity.this.group.removeView(image); } @Override public void onAnimationRepeat(Animation arg0) { // TODO Auto-generated method stub } @Override public void onAnimationStart(Animation arg0) { // TODO Auto-generated method stub } }); MainActivity.this.image.startAnimation(set); } }
现在我们在开始那部分设置渐变消失动态,加入以下代码就好:
if(animation instanceof AnimationSet){ AnimationSet set=(AnimationSet)animation; AlphaAnimation a=new AlphaAnimation(1,0); a.setDuration(3000); set.addAnimation(a); }
现在我们看看效果:
看到这里是不是有点小兴奋啊,别着急,把这一章学好你就能做一个小游戏或充满意义的小动画了啦。
相关推荐
3. **设置动画监听器** 要实现动画的开始和结束监听,可以使用`AnimationDrawable`类,它是一个可绘制对象,可以作为View的背景,并提供动画功能。在代码中获取这个对象,然后设置监听器: ```java ImageView ...
当设置`AnimationDrawable`为View背景并启动动画时,可以为这个View设置一个动画监听器,监听`onAnimationStart()`和`onAnimationEnd()`方法。 以下是一个简单的示例代码: ```java ImageView imageView = ...
2. **设置动画监听器** - 要监听序列帧动画的开始和结束事件,可以使用`AnimationDrawable`的`start()`和`stop()`方法。在需要启动动画的地方调用`start()`,在需要停止动画的地方调用`stop()`。 - 但是,Android...
本文将深入探讨Android的四大动画体系:普通动画、属性动画、帧动画以及转场动画,并介绍如何实现动画监听器,以便更好地控制动画行为。 首先,我们来了解**普通动画(View Animation)**。普通动画基于视图层次,...
6. **监听器**: 添加动画监听器(AnimatorListenerAdapter),可以在动画开始、结束、取消等关键点执行特定的操作。 7. **自定义View**: 如果需要高度定制的动画效果,开发者可能需要创建自定义View,重写onDraw()...
// 设置动画监听器,以便在动画结束时触发翻转回正面 flipOut.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) {} @Override public ...
然后,我们可以利用`ViewPropertyAnimator`的`setListener`方法设置动画监听器,以在动画开始和结束时执行相应的操作。 接下来,我们将创建一个自定义的行为(Behavior)来处理滑动手势。在Android中,Behavior是...
4. **监听动画执行**:为了配合清理缓存的逻辑,开发者需要设置动画监听器,以便在动画结束时执行清理缓存的操作。`AnimatorListenerAdapter`是常用的监听器,它提供了一系列回调方法,如`onAnimationStart()`和`...
9. **动画监听器(AnimatorListener)** - 通过设置`Animator.AnimatorListener`,可以在动画开始、结束、取消或重复时执行相应操作。 综上所述,"BaseAnimation数百种动画效果源码"涵盖了Android动画的各个方面,...
2. **设置动画监听器**:为了在Item加载时触发动画,我们需要在`RecyclerView.Adapter`的`onBindViewHolder()`方法中设置动画监听器。监听器会在视图被添加到窗口时调用`onAttachedToWindow()`方法,这时我们就可以...
8. **动画监听器(Animation Listener)**: 可以添加一个`Animation.AnimationListener`来监听动画的开始、结束以及重复事件,这对于控制其他逻辑或者同步多个动画非常有用。 在TestAnimation这个Demo中,开发者...
- 动画监听器(Animator.AnimatorListener):可以监听动画的开始、结束、取消和重复事件,进行相应的处理。 - 混合模式(interpolator):通过插值器可以改变动画的速度曲线,如线性、加速、减速等效果。 在...
这可能涉及设置动画的持续时间、重复次数、动画监听器等参数。 步骤四:优化与调整 为了达到更接近支付宝的效果,可能需要对动画速度、线条样式、颜色等方面进行微调。此外,考虑添加开始和结束的动画效果,比如...
4. 动画监听器: - 为了在动画开始、结束或者更新时执行特定操作,我们可以为Fragment动画添加监听器。通过实现`Animator.AnimatorListener`接口,我们可以覆盖`onAnimationStart()`, `onAnimationEnd()`, `...
在Android开发中,动画是提升用户体验的关键因素,它能让应用变得更加生动、有趣。...同时,随着版本的更新,Android还提供了更多高级特性,如视图过渡、动画监听器等,帮助开发者创造出更加丰富多彩的应用体验。
2. 使用动画监听器:通过设置Animation.AnimationListener或Animator.AnimatorListener,可以监听动画的开始、结束和中间状态,实现更精细的控制。 六、动画的最佳实践 1. 优化性能:避免过度使用动画,尤其是复杂...
如果你希望实现更复杂的动画效果,可以将多种动画结合使用,或者自定义插值器和动画监听器。例如,你可以先进行缩放,然后执行淡入淡出动画。此外,还可以通过设置动画监听器来控制动画过程中的行为。 六、Android ...
此外,Android还提供了动画监听器(AnimatorListenerAdapter),可以监听动画的开始、结束、取消等事件,从而在合适的时间执行相应的业务逻辑。同时,通过ValueAnimator的addValueCallback()方法,可以在每个动画帧...
1. 添加动画监听器,可以监听动画的开始、结束、重复等事件。 ```java alphaAnim.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { //...
Android还提供了动画监听器,让我们可以在动画开始、结束或更新时执行特定操作。此外,可以使用`AnimationSet`来组合多个动画,实现更丰富的效果。 5. 动画资源优化: 考虑到性能,我们应该注意不要过度使用动画...