android帧动画设置时间间隔,安卓Android 用Animation-list实现逐帧动画

最近项目需要用到动画效果,给大家做个简单的介绍。

android提供了3种类型的动画:

补间动画:补间动画可以应用于View,让你可以定义一系列关于位置、大小、旋转和透明度的改变,从而让

View的内容动起来。(本文章会重点介绍)

逐帧动画:传统的基于单元格的动画,每一帧显示一个不同的Drawable。逐帧动画可以在一个View中显示,并

使用它的Canvas作为投影屏幕。(本文章会重点介绍)

属性动画:属性动画系统几乎可以让应用程序中的任何对象动起来,它是一个框架,在一定时间内,通过使用指

定的内插技术来影响任意的对象属性。

补间动画通过对场景中的对象不断进行图像变换(透明度、平移、缩放、旋转)产生的动画效果。针对不同的图

像变换动画,Android提供了AlphaAnimation、ScaleAnimation、RotateAnimation、TranslateAnimation等4个类的支

持。

下面中带你介绍下最简单的 帧动画

1  准备好几张切换的图片

2 在 drawable 文件下协商一个  配置文件 如下

813cf6ae4163?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

animation-list 里面存储的就是图片的集合,该动画分别有四张图。

3.代码实现调用

813cf6ae4163?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

这里面在activity里面定义了 Imageview 对象 和 AnimationDrawable的对象,首先绑定imageview,再次给图片绑定动画效果,最后 start开始启动动画。简单明了,动画一定是依存于某个view,这里用的是imageview,这个控件可以写在布局的任何位置,这样动画的显示位置就不用多讲了吧。这个实现了 会有四张图片连续播放的效果。

下面中带你介绍下最简单的 补间动画

1 我们来做一个图片的放大缩小的效果

1.1  首先 还是定一个xml文件 ,安卓的动画都是可以通过xml文件和代码进行控制的。

813cf6ae4163?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

下面为配置文件注释

1、一次动画效果消耗的时间

2、3动画开始前x、y的缩放,0.0为不显示,1.0为正常大小

5、6动画起始位置,相对于屏幕的百分比,两个都为50%表示动画从屏幕中间开始

6、动画多次执行的时间间隔

7  动画执行次数,-1  表示为无线重复

8、反方向执行

9.10   动画最终缩放的倍数,1.0为正常大小,大于1.0放大,小于1.0缩小

1.2   代码如下

813cf6ae4163?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

和上面的帧动画类似 很简单,这个实现了会有一个图片循环播放 放大 缩小的效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android中,可以使用AnimationDrawable类来实现逐帧动画。首先需要创建一个Drawable资源文件,并在其中定义每一图片。然后在代码中,通过AnimationDrawable对象来控制动画播放。 1. 创建Drawable资源文件:在res目录下创建一个drawable资源文件(比如anim_frame.xml),并在其中按顺序定义每一图片资源,如下所示: ``` <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@drawable/frame1" android:duration="100" /> <item android:drawable="@drawable/frame2" android:duration="100" /> <item android:drawable="@drawable/frame3" android:duration="100" /> ... (添加更多) </animation-list> ``` 2. 在代码中加载动画资源和控制动画播放: ``` // 在Activity或Fragment中的某个方法中 ImageView imageView = findViewById(R.id.image_view); // 获取用于显示动画的ImageView控件 imageView.setBackgroundResource(R.drawable.anim_frame); // 设置动画资源 AnimationDrawable animationDrawable = (AnimationDrawable) imageView.getBackground(); // 获取AnimationDrawable对象 animationDrawable.start(); // 开始播放动画 // 若需要停止动画,调用animationDrawable.stop()方法 ``` 以上代码中,我们首先通过findViewById方法获取一个ImageView控件,然后调用setBackgroundResource方法设置背景资源为之前创建的drawable资源文件。再获取ImageView的背景(即AnimationDrawable对象),并调用start方法开始播放动画。 需要注意的是,设置动画资源时,必须调用setBackgroundResource方法,而不能直接设置ImageView的src属性。另外,为了能够再次播放动画,还需要将animation-list中的oneshot属性设置为false。 通过以上步骤,就可以实现Android中的逐帧动画

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值