`

动画监听器

阅读更多

                            我们画了那么都能动的图,但是在它动的过程中我们只能袖手旁观,能不能对动画的状态加一些

监听呢,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);
				}

 

现在我们看看效果:



看到这里是不是有点小兴奋啊,别着急,把这一章学好你就能做一个小游戏或充满意义的小动画了啦。

  • 大小: 12.8 KB
  • 大小: 39.5 KB
1
0
分享到:
评论

相关推荐

    Android 序列帧动画,开始,结束监听的解决Demo.zip

    3. **设置动画监听器** 要实现动画的开始和结束监听,可以使用`AnimationDrawable`类,它是一个可绘制对象,可以作为View的背景,并提供动画功能。在代码中获取这个对象,然后设置监听器: ```java ImageView ...

    Android 序列帧动画,开始,结束监听的解决-IT计算机-毕业设计.zip

    当设置`AnimationDrawable`为View背景并启动动画时,可以为这个View设置一个动画监听器,监听`onAnimationStart()`和`onAnimationEnd()`方法。 以下是一个简单的示例代码: ```java ImageView imageView = ...

    Android应用源码之序列帧动画,开始,结束监听的解决.rar

    2. **设置动画监听器** - 要监听序列帧动画的开始和结束事件,可以使用`AnimationDrawable`的`start()`和`stop()`方法。在需要启动动画的地方调用`start()`,在需要停止动画的地方调用`stop()`。 - 但是,Android...

    安卓动画大全,你想要的都有

    本文将深入探讨Android的四大动画体系:普通动画、属性动画、帧动画以及转场动画,并介绍如何实现动画监听器,以便更好地控制动画行为。 首先,我们来了解**普通动画(View Animation)**。普通动画基于视图层次,...

    安卓动画效果相关-安卓收藏和取消收藏的点击小动画.rar

    6. **监听器**: 添加动画监听器(AnimatorListenerAdapter),可以在动画开始、结束、取消等关键点执行特定的操作。 7. **自定义View**: 如果需要高度定制的动画效果,开发者可能需要创建自定义View,重写onDraw()...

    Android 翻转动画 ,像硬币一样的翻转动画

    // 设置动画监听器,以便在动画结束时触发翻转回正面 flipOut.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) {} @Override public ...

    仿IOS activity界面翻转3D动画

    然后,我们可以利用`ViewPropertyAnimator`的`setListener`方法设置动画监听器,以在动画开始和结束时执行相应的操作。 接下来,我们将创建一个自定义的行为(Behavior)来处理滑动手势。在Android中,Behavior是...

    android 清理缓存火箭动画Demo

    4. **监听动画执行**:为了配合清理缓存的逻辑,开发者需要设置动画监听器,以便在动画结束时执行清理缓存的操作。`AnimatorListenerAdapter`是常用的监听器,它提供了一系列回调方法,如`onAnimationStart()`和`...

    Android数百种动画效果源码

    9. **动画监听器(AnimatorListener)** - 通过设置`Animator.AnimatorListener`,可以在动画开始、结束、取消或重复时执行相应操作。 综上所述,"BaseAnimation数百种动画效果源码"涵盖了Android动画的各个方面,...

    RecyclerView实现Item滑动加载进入动画效果

    2. **设置动画监听器**:为了在Item加载时触发动画,我们需要在`RecyclerView.Adapter`的`onBindViewHolder()`方法中设置动画监听器。监听器会在视图被添加到窗口时调用`onAttachedToWindow()`方法,这时我们就可以...

    测试动平移和旋转动画的参数Demo

    8. **动画监听器(Animation Listener)**: 可以添加一个`Animation.AnimationListener`来监听动画的开始、结束以及重复事件,这对于控制其他逻辑或者同步多个动画非常有用。 在TestAnimation这个Demo中,开发者...

    android动画例子大全

    - 动画监听器(Animator.AnimatorListener):可以监听动画的开始、结束、取消和重复事件,进行相应的处理。 - 混合模式(interpolator):通过插值器可以改变动画的速度曲线,如线性、加速、减速等效果。 在...

    androidの高仿支付宝扫描动画效果

    这可能涉及设置动画的持续时间、重复次数、动画监听器等参数。 步骤四:优化与调整 为了达到更接近支付宝的效果,可能需要对动画速度、线条样式、颜色等方面进行微调。此外,考虑添加开始和结束的动画效果,比如...

    fragment动画

    4. 动画监听器: - 为了在动画开始、结束或者更新时执行特定操作,我们可以为Fragment动画添加监听器。通过实现`Animator.AnimatorListener`接口,我们可以覆盖`onAnimationStart()`, `onAnimationEnd()`, `...

    Android动画

    在Android开发中,动画是提升用户体验的关键因素,它能让应用变得更加生动、有趣。...同时,随着版本的更新,Android还提供了更多高级特性,如视图过渡、动画监听器等,帮助开发者创造出更加丰富多彩的应用体验。

    android 酷炫鱼动画

    除了这些基本动画,开发者可能还利用了其他高级技术,如视图层级管理(例如`ViewGroup`的`layout()`方法),以及动画监听器(`Animator.AnimatorListener`)来处理动画的开始、结束、取消或重复事件,以便实现更复杂...

    Android 动画效果集合

    2. 使用动画监听器:通过设置Animation.AnimationListener或Animator.AnimatorListener,可以监听动画的开始、结束和中间状态,实现更精细的控制。 六、动画的最佳实践 1. 优化性能:避免过度使用动画,尤其是复杂...

    Android动画效果-切换Activity动画

    如果你希望实现更复杂的动画效果,可以将多种动画结合使用,或者自定义插值器和动画监听器。例如,你可以先进行缩放,然后执行淡入淡出动画。此外,还可以通过设置动画监听器来控制动画过程中的行为。 六、Android ...

    Android动画机制与使用技巧(四)——Android动画特效

    此外,Android还提供了动画监听器(AnimatorListenerAdapter),可以监听动画的开始、结束、取消等事件,从而在合适的时间执行相应的业务逻辑。同时,通过ValueAnimator的addValueCallback()方法,可以在每个动画帧...

    Android 动画之视图动画

    1. 添加动画监听器,可以监听动画的开始、结束、重复等事件。 ```java alphaAnim.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { //...

Global site tag (gtag.js) - Google Analytics