【网学网提醒】:网学会员编辑为广大网友搜集整理了:Android 实现帧动画绩等信息,祝愿广大网友取得需要的信息,参考学习。
今天我们主要讲的就是帧动画,这个在我们开发的时候会很有用的,那么我们怎么样来控制帧动画那,这个就的用android提供给我们的AnimationDrawable来控制吧,现在思路我们有了,下面就是我们来怎么样的实现了。下面我们就来看看代码是怎么样写的吧。
java代码:
1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.imageView=(ImageView)findViewById(R.id.imageView_animation1);imageView.setBackgroundResource(R.drawable.animation1_drawable);importandroid.app.Activity;importandroid.graphics.drawable.AnimationDrawable;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.ImageView;/***@descriptionandroid中的逐帧动画.*逐帧动画的原理很简单,跟电影的播放一样,一张张类似的图片不停的切换,当切换速度达到一定值时,*我们的视觉就会出现残影,残影的出现保证了视觉上变化的连续性,这时候图片的切换看在我们眼中就跟真实的一样了。*想使用逐帧动画:*第一步:需要在res/drawable文件夹下新建一个xml文件,该文件详细定义了动画播放时所用的图片、切换每张图片*所用的时间、是否为连续播放等等。(有些文章说,在res/anim文件夹下放置该文件,事实证明,会出错哦)*第二步:在代码中,将该动画布局文件,赋值给特定的
图片展示控件,如本例子中的ImageView。*第三步:通过imageView.getBackGround()获取相应的AnimationDrawable对象,然后通过该对象的方法进行控制动画**/publicclassAnimation1ActivityextendsActivity{ImageViewimageView;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.animation1);packageeoe.demo;
29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.复制代码
}
publicvoidmyClickHandler(ViewtargetButton){//获取AnimationDrawable对象AnimationDrawableanimationDrawable=(AnimationDrawable)imageView.getBackground();
//动画是否正在运行if(animationDrawable.isRunning()){//停止动画播放animationDrawable.stop();}else{//开始或者继续动画播放animationDrawable.start();}
}}
animation1.xml文件:
java代码:
1.2.3.4.5.6.7.8.9.
10.11.12.13.14.15.16.17.18.19.20.复制代码
android:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="myClickHandler"> id:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_weight="1">
存放动画文件的xml文件:
java代码:
1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.复制代码 除此之外:在AnimationDrawable中,我们还可以看到如下的几个重要方法:setOneShot(booleanflag)和在配置文件中进行配置一样,可以设置动画是否播放一次,false为连续播放;addFrame(Drawableframe,intduration)动态的添加一个图片进入该动画中