Android实现图片点击爆炸效果
本文实例为大家分享了Android实现图片点击爆炸效果的具体代码,供大家参考,具体内容如下
实现效果:
需要注意的点:
ValueAnimator
ValueAnimator,是针对值的,也就是说ValueAnimator不会对控件进行任何操作,而是控制值的变化,然后我们监听这个值的变化过程,从而来控制控件的变化。什么意思呢?例如我们使用属性动画来控制TextView的位移,我们在初始化ValueAnimator时,会设置一个初始值和结束的值,假如我用这两个值来控制TextView在y轴上的位置,然后设置监听器,监听初始值变化到结束值的过程,在不断变化过程中,通过调用TextView的layout方法来不断更新TextView的位置,从而实现位移动画。
我们可以大概总结使用ValueAnimator的两个主要过程:
(1).初始化ValueAnimator,并设置初始值和结束值,还有动画的时间,然后start。
(2).给ValueAnimator设置监听器,通过getAnimatedValue()拿到变化值,然后我们更新控件的变化。
实现步骤
1.首先封装一个Ball粒子对象
publicclassBall{ publicintcolor;//图片像素点颜色值 publicfloatx;//粒子圆心坐标x publicfloaty;//粒子圆心坐标y publicfloatr;//粒子半径 publicfloatvX;//粒子运动水平方向速度 publicfloatvY;//粒子运动垂直方向速度 publicfloataX;//粒子运动水平方向加速度 publicfloataY;//粒子运动垂直方向加速度 }
2.自定义SplitView继承View
2.1粒子相关属初始化和ValueAnimator初始化
privatevoidinit(){ mPaint=newPaint(); mBitmap=BitmapFactory.decodeResource(getResources(),R.drawable.cat); for(inti=0;i2.2更新粒子的位置
privatevoidupdateBall(){ for(Ballball:mBalls){ ball.x+=ball.vX; ball.y+=ball.vY; ball.vX+=ball.aX; ball.vY+=ball.aY; } }2.3重写onDraw()方法绘制粒子
protectedvoidonDraw(Canvascanvas){ super.onDraw(canvas); canvas.translate(250,250); for(Ballball:mBalls){ mPaint.setColor(ball.color); canvas.drawCircle(ball.x,ball.y,ball.r,mPaint); } }2.4重写onTouchEvent()方法触发触发时间并执行动画
publicbooleanonTouchEvent(MotionEventevent){ if(event.getAction()==MotionEvent.ACTION_DOWN){ //执行动画 mAnimator.start(); } returnsuper.onTouchEvent(event); }以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。