java图片16帧动画_Java实现帧动画的实例代码
本文讲述了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实现帧动画的实例代码相关推荐
- java 判断图片格式_Java判断上传图片格式的实例代码
先给大家介绍下java判断上传图片格式. 由于客户上传图片将png的图片的后缀名改为jpg,所以通过后缀名判断不行,用下面这个方法可以 //判断是否是JPG格式 log.info("-1-- ...
- java 生成token代码_java token生成和校验的实例代码
现在越来越多的登录方式都用到了token作为用户登录令牌,所以实现了一个token生成和校验案例. 缺点:该实现方式token是存储在内存中,不适合分布式项目,如需改为分布式项目部署,可把token存 ...
- java一维打地鼠_Java编程实现打地鼠文字游戏实例代码
控制台输入数字,与随机数匹配,匹配正确则返回"打中了!" 匹配错误则返回"太遗憾!没打中!" package hitmouse; import java.uti ...
- java ftp服务器_Java实现FTP服务器功能实例代码
FTP(File Transfer Protocol 文件传输协议)是Internet 上用来传送文件的协议.在Internet上通过FTP 服务器可以进行文件的上传(Upload)或下载(Downl ...
- java打地鼠文本代码_Java编程实现打地鼠文字游戏实例代码
Java编程实现打地鼠文字游戏实例代码 发布时间:2020-10-05 07:00:48 来源:脚本之家 阅读:91 作者:lao_huang123 控制台输入数字,与随机数匹配,匹配正确则返回&qu ...
- java get null_java 获取对象中为null的字段实例代码
下面一段简单的代码给大家分享java 获取对象中为null的字段,具体代码如下所述: private static String[] getNullPropertyNames(Object sourc ...
- java 图片合成 红色失真_Java - 处理某些图片泛红
参考博文: http://blog.csdn.net/kobejayandy/article/details/44346809 http://blog.csdn.net/shixing_11/arti ...
- java 图片合成 工具类_Java实现的图片上传工具类完整实例
本文实例讲述了Java实现的图片上传工具类.分享给大家供大家参考,具体如下: package com.gcloud.common; import javax.imageio.ImageIO; impo ...
- java图片转成字符串_JAVA将图片(本地或者网络资源)转为Base64字符串,将base64字符串存储为本地图片...
网络资源代码 import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; import java.io.IOExcep ...
最新文章
- centos 7 局域网丢包排查_ethtool原理介绍和解决网卡丢包排查思路
- MySQL事务隔离级别的实现原理
- ssm框架下文件上传
- 教你 Shiro + SpringBoot 整合 JWT
- wordpress 如何移除管理后台仪表盘小工具
- 关于字符编码的一点学习。
- bzoj4423[AMPPZ2013]Bytehattan
- 浏览器 pad android,360安全浏览器平板电脑Pad专用版-360安全浏览器HD 安卓版v1.1.0-PC6安卓网...
- SPSS基础教程:认识SPSS的主要窗口
- uniapp开发微信公众号(支付宝支付)
- FFmpeg基础:视频流转图片
- CTS2019朝圣 x 打铁记
- 新买的华为Matebook,Office没激活,激活方法在这里!!!
- win32_mfc 理论资料 供自己查阅
- 安卓recovery系统详解
- 电脑录屏是哪个快捷键?3个录屏快捷键,教你快速录屏
- 视频教程-《信息学竞赛-C语言》 DAY30-清华尹成老师-C/C++
- Kubernetes学习笔记——k8s基本概念初探
- 硬件电路(3)设计篇----为什么栅极型推挽电路不用上P下N?
- 计算机英语 单词101-200
热门文章
- fullbnt matlab,FullBNT学习笔记之一(matlab)
- Python中列表和字符串的反转
- Python logging模块日志存储位置踩坑
- Python atexit模块
- js中text方法是啥意识_一盏茶的时间,快速捕获JS中常用的方法(细心整理,持续更新ing)...
- pycharm更换源(换源)(镜像源)
- css设置元素的宽高为整数,为什么有的浏览器解析出来的宽高是小数?
- pytorch torch.Tensor.new_ones()(返回一个与size大小相同的用1填充的张量。 默认返回的Tensor具有与此张量相同的torch.dtype和torch.device)
- python 为什么要用astype()函数对numpy数据类型进行转换,而不直接指定其dtype?float(64) float(32) int(64) int(32)(转换为整型int)
- linux——管理系统设备之LVM的管理