Android动画案例(一) 帧动画

在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()这一个方法改变,其余不变

帧动画其他方法

这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值