Android动画案例(一) 帧动画

xiaoxiao2021-02-27  301

在Android中动画可以分为以下的几种:

帧动画:就像flash一样,将图像一帧一帧进行切换 例如美团加载数据时的效果 补间动画:补充两个关键帧之间的动画。将图画进行移动、缩放、透明、组合,实现的功能比较强大,但也存在不足 例如购物软件,点击购买,商品会做一个抛物线的样子弹出 属性动画:用于弥补补间动画的不足(只能将动画添加到一个View当中) 包含的类:ValueAnimation、ObjectAnimation(常用)、 ViewPropertyAnimation

帧动画

模拟顺丰快递小哥加载信息时的动画 在drawable目录下创建一个animation-list节点,并配置动画项

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@drawable/app_loading0" android:duration="200"/> <item android:drawable="@drawable/app_loading1" android:duration="200"/> </animation-list>

oneshot属性:是否值播放一次 duration属性:这张图片播放多久

将文件设置到指定的View的背景上,获取ImageView背景转换成动画 这里用到的操控动画的类为 AnimationDrawable 对象为 animationDrawable 实例化方式: animationDrawable = (AnimationDrawable) iv.getBackground();

private void initAnimation() { //将刚才设置好的帧动画的文件设置到ImageView的背景上 iv.setBackgroundResource(R.drawable.fram); //实例化动画操作的对象 animationDrawable = (AnimationDrawable) iv.getBackground(); }

开始动画,和停止动画

//开始动画 animationDrawable.start(); //停止动画 animationDrawable.stop();

这两个操作可以放到一个按钮中进行实现

方法二: 当然这里也可以动态获取 animationDrawable 对象 这样我们就不通过animationDrawable = (AnimationDrawable) iv.getBackground();获取对象

public void initAnimation() { //通过drawable得到animationDrawable对象 animationDrawable = (AnimationDrawable) getResources().getDrawable(R.drawable.frame); //设置ImageView背景 iv.setBackgroundDrawable(animationDrawable); }

只有initAnimation()这一个方法改变,其余不变

帧动画其他方法

转载请注明原文地址: https://www.6miu.com/read-4486.html

最新回复(0)