咨询热线:023-63853373

24小时热线:13372636650

新闻中心

首页

产品方案

服务项目

开发案例
新闻资讯
联系我们

Android帧动画的使用

2020/02/05  来源:乐潮信息

在开发中有时候会遇到动画的相关使用来达到一些页面效果,帧动画就是将一组图片资源一帧一帧的播放,逐帧动画跟补间动画一样都可以通过xml或者Java代码实现。

 

首先我们先新建一个xml文件,例如:

1、新建xml文件:R.drawable.duigou_anim

<?xml version="1.0" encoding="utf-8"?>

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"

android:oneshot="true">

<item android:drawable="@drawable/a1" android:duration="100"/>

<item android:drawable="@drawable/a2" android:duration="100"/>

<item android:drawable="@drawable/a3" android:duration="100"/>

...

...

</animation-list>

其中drawable属性是放的图片文件,后面的duration是每张图片显示的时间。

 

接下来是设置播放:

  1. 设置、播放

//通过设置android:background时,得到AnimationDrawable 用如下方法

 final AnimationDrawable animationDrawable = (AnimationDrawable) iv.getBackground();

       

//通过设置android:src时,得到AnimationDrawable 用如下方法

//AnimationDrawable animationDrawable = (AnimationDrawable) iv.getDrawable();

 

        btn.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                animationDrawable.start();

            }

        });

       

        btn2.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                animationDrawable.stop();

            }

        });

直接显示如下:

imgFinger.setImageResource(R.drawable.duigou_anim);

AnimationDrawable animationDrawable = (AnimationDrawable) imgFinger.getDrawable();

animationDrawable.start();

 

//通过设置android:background时,得到AnimationDrawable 用如下方法 final AnimationDrawable animationDrawable = (AnimationDrawable) iv.getBackground();

 

动态设置


 

这里对通过文件名拿到对应资源ID的方法做个简单的说明:


第一个参数就是文件名,第二个参数就是资源所在的文件类型,第三个参数就是包名。

特别注意:

在我们使用逐帧动画时,要避免使用大尺寸的图片,以免造成OOM。



乐潮信息 www.leco-tec.com

重庆APP开发多少钱

根据app应用软件开发的难易程度可以将重庆app开发价格大致分为一下几类

手机app定制开发要根据用户市场来

重庆app开发公司乐潮科技认为,随着移动互联网技术的不断发展,手机app开发现在已经

开发三级分销系统APP的好处

重庆APP开发乐潮科技认为:三级分销系统是各路商家的最爱,这句话说的绝对没毛病。

点击我更换图片

公司地址:

重庆市渝北区冉家坝时光城写字楼

联系方式:

023-63853373

13372636650(24h热线)

重庆市渝北区冉家坝时光城写字楼

© 2020 乐潮信息

渝ICP备15006414号-2      渝公网安备 50011202502110号