2018-07-18 14:25:08 501浏览
今天扣丁学堂给大家讲解一下关于Java培训之实现帧动画的实例代码,有很多游戏网站或者视频网站会用到帧动画功能,视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash制作的播放器来播放该文件.项目中用制作的player.swf播放器,那么下面我们来看一下吧。
privateImageViewbgAnimView; privateAnimationDrawablemAnimationDrawable; //初始化 mAnimationDrawable=newAnimationDrawable(); bgAnimView=newImageView(mContext); bgAnimView.setBackgroundDrawable(getAnimationDrawable(mAnimationDrawable)); params=newFrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT); params.topMargin=Util.Div(176+58); params.gravity=Gravity.CENTER_HORIZONTAL; addView(bgAnimView,params); privateAnimationDrawablegetAnimationDrawable(AnimationDrawablemAnimationDrawable){ intduration=50; mAnimationDrawable.addFrame(mContext.getResources().getDrawable(R.drawable.loading1),duration); mAnimationDrawable.addFrame(mContext.getResources().getDrawable(R.drawable.loading2),duration); mAnimationDrawable.addFrame(mContext.getResources().getDrawable(R.drawable.loading3),duration); mAnimationDrawable.setOneShot(false); returnmAnimationDrawable; } //动画开始 publicvoidanimLoadingStart(){ this.setVisibility(View.VISIBLE); if(mAnimationDrawable!=null){ mAnimationDrawable.start(); } } //动画结束 publicvoidanimLoadingEnd(){ if(mAnimationDrawable!=null){ mAnimationDrawable.stop(); }
//X轴平移 publicvoidanimY(inty,intnextY,intduration){ LinearInterpolatorll=newLinearInterpolator();//匀速 ObjectAnimatoranimator=ObjectAnimator.ofFloat(yourView,"translationY",0,300);//300若为负值,就是向上平移 animator.setDuration(duration); animator.setInterpolator(ll); animator.start(); } //Y轴平移 publicvoidanimX(intx,intnextX,intduration){ LinearInterpolatorll=newLinearInterpolator(); ObjectAnimatoranimator=ObjectAnimator.ofFloat(yourView,"translationX",x,nextX); animator.setDuration(duration); animator.setInterpolator(ll); animator.start(); } //纵向压缩0.5倍 LinearInterpolatorll=newLinearInterpolator();//匀速 ScaleAnimationscaleAnimation=newScaleAnimation(1,1,1,0.5f);//默认从(0,0) scaleAnimation.setDuration(500); scaleAnimation.setInterpolator(ll); scaleAnimation.setFillAfter(true); chartView.startAnimation(scaleAnimation); //横向压缩0.5倍 LinearInterpolatorll=newLinearInterpolator(); ScaleAnimationscaleAnimation=newScaleAnimation(1,0.5f,1,1);//默认从(0,0) scaleAnimation.setDuration(500); scaleAnimation.setInterpolator(ll); scaleAnimation.setFillAfter(true); chartView.startAnimation(scaleAnimation);
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,扣丁学堂是专业的Java培训机构,不仅有专业的老师和与时俱进的课程体系,还有大量的Java视频教程供学员观看学习哦,心动的小伙伴快快行动吧。扣丁学堂Java技术交流群:670348138。
【关注微信公众号获取更多学习资料】