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);

点击打开素材下载地址

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • java实现gif动画效果(java显示动态图片)

    就是每隔一定的时间显示一张图片,全部图片文件位于:"工作空间\项目名称\bin\动态图\花好月圆\"文件夹下.文件名类似:1001.jpg,1002.jpg,一直到1016.jpg: 复制代码 代码如下: /* * Donttai.java * * Created on __DATE__, __TIME__ */ package 动态图; import java.awt.Graphics;import java.awt.Image;import java.awt.image.Image

  • 利用Java制作字符动画实例代码

    前言 今晚闲来无事,整理了一下电脑中尘封已久的旧代码,看着那些年自己写过的代码,踩过的坑,顿时老泪纵横.正当在感叹之际,突然发现在"马克思"文件夹下出现了一个好玩的项目,那就是N年前刚学Java时写的GIF转字符动画的小玩具,虽然是个小玩意,但是在当时能搞点东西出来还是非常有成就感的. 正文 效果展示 原图,某两年半练习生 转成字符动画后的练习生 实现原理 其实字符动画的实现原理比较简单,这里我们抛开GIF,直接拿一张静态图片来说明. 首先我们要把原图转成灰度图,这样图片中每个像素就只

  • jQuery动画_动力节点节点Java学院整理

    用JavaScript实现动画,原理非常简单:我们只需要以固定的时间间隔(例如,0.1秒),每次把DOM元素的CSS样式修改一点(例如,高宽各增加10%),看起来就像动画了. 但是要用JavaScript手动实现动画效果,需要编写非常复杂的代码.如果想要把动画效果用函数封装起来便于复用,那考虑的事情就更多了. 使用jQuery实现动画,代码已经简单得不能再简化了:只需要一行代码! 让我们先来看看jQuery内置的几种动画样式: show / hide 直接以无参数形式调用show()和hide(

  • Java实现帧动画的实例代码

    本文讲述了Java实现帧动画的实例代码.分享给大家供大家参考,具体如下: 1.效果图 2.帧动画的简要代码 private ImageView bgAnimView; private AnimationDrawable mAnimationDrawable; //初始化 mAnimationDrawable = new AnimationDrawable(); bgAnimView = new ImageView(mContext); bgAnimView.setBackgroundDrawab

  • Android 帧动画的实例详解

    Android 帧动画的实例详解 对于 Android 帧动画 大体上可以理解成 一张张图片 按一定顺序切换, 这样当连续几张图是一组动画时,就可以连起来了看成是一个小电影,你懂得 好得,比就装到这里,下面开始进入正题,由于产品需求 需要做一个 声音喇叭动态切换的样式,我特么第一就想到是帧动画切换,然后就百度了一些资料,发现 真的, 现在这个网上太多的资料是 copy粘贴过来的, 一错全错,对于这种情况我只想说,made,一群垃圾, 所以今天我将带你们走进Android 正确帧动画地址. 第一步

  • Android 逐帧动画创建实例详解

    Android 逐帧动画创建实例详解 前言: 我们看早期电影的时候,电影通常是一张一张播放,用我们现在专有名词来说,就是一帧帧来,安卓同样有这样动画效果的编排形式. 那么我们先定义逐帧动画xml文件 <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" an

  • Python3视频转字符动画的实例代码

    Python3视频转字符动画,具体代码如下所示: # -*- coding:utf-8 -*- import json import os import subprocess from pathlib import Path from cv2 import cv2 import numpy as np from time import time import webbrowser play_chars_js = ''' let i = 0; window.setInterval(function

  • Java实现单链表翻转实例代码

    Java实现单链表反转,递归和非递归两种形式 /** * 反转单链表 */ /** * 定义链表 * * @author 16026 * */ class Node { int val; Node next; public Node(int val) { this.val = val; } } public class ReverseList { /** * 反转链表 * * @param head * @return */ public static Node reverseList(Node

  • Java实现FTP服务器功能实例代码

    FTP(File Transfer Protocol 文件传输协议)是Internet 上用来传送文件的协议.在Internet上通过FTP 服务器可以进行文件的上传(Upload)或下载(Download).FTP是实时联机服务,在使用它之前必须是具有该服务的一个用户(用户名和口令),工作时客户端必须先登录到作为服务器一方的计算机上,用户登录后可以进行文件搜索和文件传送等有关操作,如改变当前工作目录.列文件目录.设置传输参数及传送文件等.使用FTP可以传送所有类型的文件,如文本文件.二进制可执

  • Java执行hadoop的基本操作实例代码

    Java执行hadoop的基本操作实例代码 向HDFS上传本地文件 public static void uploadInputFile(String localFile) throws IOException{ Configuration conf = new Configuration(); String hdfsPath = "hdfs://localhost:9000/"; String hdfsInput = "hdfs://localhost:9000/user/

  • java List 排序之冒泡排序实例代码

    java List 排序之冒泡排序实例代码 List排序,这里介绍两种排序: 1.Collections.sort()排序: 假如List集合中放的是Menu对象. public class Menu{ private int id; private String name; private int seq;//自定义排序字段 //构造函数.getter.setter省略....... } List<Menu> menus=new ArrayList<Menu>(); menus.

  • jQuery模拟实现天猫购物车动画效果实例代码

    一.功能描述: 1.点击购买按钮,模拟抛物线将物品弹到购物车里: 2.购物车添加物品后,显示+1动画: 效果图如下: 实现如下: 1.导入jquery相关的包: <script type="text/javascript" src="jquery-2.1.1.min.js"></script> <script src="jquery.fly.min.js"></script> 2.html文件内容:

  • Android自定义水波纹动画Layout实例代码

    话不多说,我们先来看看效果: Hi前辈搜索预览 这一张是<Hi前辈>的搜索预览图,你可以在这里下载这个APP查看更多效果: http://www.wandoujia.com/apps/com.superlity.hiqianbei LSearchView 这是一个MD风格的搜索框,集成了ripple动画以及search时的loading,使用很简单,如果你也需要这样的搜索控件不妨来试试:https://github.com/onlynight/LSearchView RippleEverywh

随机推荐