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;i
2.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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。