本文讲述了Java实现帧动画的实例代码。分享给大家供大家参考,具体如下:

1、效果图

2、帧动画的简要代码

private ImageView bgAnimView;

private AnimationDrawable mAnimationDrawable;

//初始化

mAnimationDrawable = new AnimationDrawable();

bgAnimView = new ImageView(mContext);

bgAnimView.setBackgroundDrawable(getAnimationDrawable(mAnimationDrawable));

params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);

params.topMargin = Util.Div(176 + 58);

params.gravity = Gravity.CENTER_HORIZONTAL;

addView(bgAnimView, params);

private AnimationDrawable getAnimationDrawable(AnimationDrawable mAnimationDrawable) {

int duration = 50;

mAnimationDrawable.addFrame(mContext.getResources().getDrawable(R.drawable.loading1), duration);

mAnimationDrawable.addFrame(mContext.getResources().getDrawable(R.drawable.loading2), duration);

mAnimationDrawable.addFrame(mContext.getResources().getDrawable(R.drawable.loading3), duration);

mAnimationDrawable.setOneShot(false);

return mAnimationDrawable;

}

//动画开始

public void animLoadingStart() {

this.setVisibility(View.VISIBLE);

if (mAnimationDrawable != null) {

mAnimationDrawable.start();

}

}

//动画结束

public void animLoadingEnd() {

if (mAnimationDrawable != null) {

mAnimationDrawable.stop();

}

3、扩展:

//X轴平移

public void animY(int y, int nextY, int duration) {

LinearInterpolator ll = new LinearInterpolator(); //匀速

ObjectAnimator animator = ObjectAnimator.ofFloat(yourView, "translationY", 0, 300);//300若为负值,就是向上平移

animator.setDuration(duration);

animator.setInterpolator(ll);

animator.start();

}

//Y轴平移

public void animX(int x, int nextX, int duration) {

LinearInterpolator ll = new LinearInterpolator();

ObjectAnimator animator = ObjectAnimator.ofFloat(yourView, "translationX", x, nextX);

animator.setDuration(duration);

animator.setInterpolator(ll);

animator.start();

}

//纵向压缩0.5倍

LinearInterpolator ll = new LinearInterpolator();//匀速

ScaleAnimation scaleAnimation = new ScaleAnimation(1, 1, 1, 0.5f);//默认从(0,0)

scaleAnimation.setDuration(500);

scaleAnimation.setInterpolator(ll);

scaleAnimation.setFillAfter(true);

chartView.startAnimation(scaleAnimation);

//横向压缩0.5倍

LinearInterpolator ll = new LinearInterpolator();

ScaleAnimation scaleAnimation = new ScaleAnimation(1, 0.5f, 1, 1);//默认从(0,0)

scaleAnimation.setDuration(500);

scaleAnimation.setInterpolator(ll);

scaleAnimation.setFillAfter(true);

chartView.startAnimation(scaleAnimation);

java图片16帧动画_Java实现帧动画的实例代码相关推荐

  1. java 判断图片格式_Java判断上传图片格式的实例代码

    先给大家介绍下java判断上传图片格式. 由于客户上传图片将png的图片的后缀名改为jpg,所以通过后缀名判断不行,用下面这个方法可以 //判断是否是JPG格式 log.info("-1-- ...

  2. java 生成token代码_java token生成和校验的实例代码

    现在越来越多的登录方式都用到了token作为用户登录令牌,所以实现了一个token生成和校验案例. 缺点:该实现方式token是存储在内存中,不适合分布式项目,如需改为分布式项目部署,可把token存 ...

  3. java一维打地鼠_Java编程实现打地鼠文字游戏实例代码

    控制台输入数字,与随机数匹配,匹配正确则返回"打中了!" 匹配错误则返回"太遗憾!没打中!" package hitmouse; import java.uti ...

  4. java ftp服务器_Java实现FTP服务器功能实例代码

    FTP(File Transfer Protocol 文件传输协议)是Internet 上用来传送文件的协议.在Internet上通过FTP 服务器可以进行文件的上传(Upload)或下载(Downl ...

  5. java打地鼠文本代码_Java编程实现打地鼠文字游戏实例代码

    Java编程实现打地鼠文字游戏实例代码 发布时间:2020-10-05 07:00:48 来源:脚本之家 阅读:91 作者:lao_huang123 控制台输入数字,与随机数匹配,匹配正确则返回&qu ...

  6. java get null_java 获取对象中为null的字段实例代码

    下面一段简单的代码给大家分享java 获取对象中为null的字段,具体代码如下所述: private static String[] getNullPropertyNames(Object sourc ...

  7. java 图片合成 红色失真_Java - 处理某些图片泛红

    参考博文: http://blog.csdn.net/kobejayandy/article/details/44346809 http://blog.csdn.net/shixing_11/arti ...

  8. java 图片合成 工具类_Java实现的图片上传工具类完整实例

    本文实例讲述了Java实现的图片上传工具类.分享给大家供大家参考,具体如下: package com.gcloud.common; import javax.imageio.ImageIO; impo ...

  9. java图片转成字符串_JAVA将图片(本地或者网络资源)转为Base64字符串,将base64字符串存储为本地图片...

    网络资源代码 import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; import java.io.IOExcep ...

最新文章

  1. python中读取文件过程中seek()函数的使用
  2. 【知识发现】隐语义模型LFM算法python实现(三)
  3. HDU1520 Anniversary party 树形动态规划
  4. 线程和进程的对比之优缺点
  5. leetcode 852. 山脉数组的峰顶索引(二分查找)
  6. 苹果手机如何降级系统
  7. Windows学习总结(19)——Windows必备神器Cmder使用教程
  8. java(14) - HashMap类
  9. 【NAACL2021】初探无监督的多跳问答对
  10. element表格点击行即选中该行复选框
  11. python使用长ping命令_python实现ping命令小程序
  12. 四川信息职业技术学院计算机多媒体技术,成都市计算机多媒体技术最好学校在哪...
  13. O2O营销模式(Online To Offline)
  14. 如何彻底的卸载anaconda(包括配置文件)
  15. 一个80年代大学生的悲壮职业人生
  16. html怎么设置文字段落,第3章 用HTML设置文字与段落.ppt
  17. PS3视频媒体播放基本说明
  18. 什么是量子计算机 什么原理,量子计算机原理是什么?
  19. win8.1磁盘使用率100解决方法
  20. 分子影像有哪些最新发表的毕业论文呢?

热门文章

  1. python添加、修改、删除、访问类对象属性的2种方法
  2. 四种python 单继承的实现方式
  3. 5种方法实现“反转字符串”
  4. python 命令行参数—argparse模块的使用
  5. linux系统分配文件夹内存,详解Linux系统内存知识及调优方案
  6. windows和ubuntu虚拟机之间不能自由复制粘贴东西(要安装VMware Tools)vmware-install.pl
  7. python PyQt5 QtWidgets.QAbstractSlider.valueChanged()
  8. 【中级软考】结构化开发方法是啥,主要包含哪些内容?
  9. python 正则表达式 re (.*?)和(.*)的区别(贪婪模式非贪婪模式)惰性匹配
  10. 深入浅出python机器学习_9.1.5_通过数据预处理提高模型的准确率_MinMaxScaler