目录

目录

效果展示

实现原理

利用ValueAnimator将数值从0一直增长到你所需要展示的数值,然后使用TextView将增长过程中的数值不断展示即可实现金钱的滚动效果。

ValueAnimator基础讲解

ValueAnimator是Android中用来实现属性动画的类,它是Android3.0后才引入的,它可以实现将数值从某一个值到某一个值的变化,比如ValueAnimator.ofInt(10,100)就可以实现数值从10到100的变化,而此方法的参数类型是可变长度的参数,即可以传入多个数值,比如ValueAnimator.ofInt(10,100,20)则可实现数值从10到100到20的变化,那么我们如何获取期间变化的值呢?这里我们通过valueAnimator.addUpdateListener()添加一个监听事件来获取,而动画的时长可以用setDuration()方法来设置。

ValueAnimator mValueAnimator = ValueAnimator.ofInt(0,100);

mValueAnimator.setDuration(1000);//动画时间为1秒

mValueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

@Override

public void onAnimationUpdate(ValueAnimator animation) {

int value = (int) animation.getAnimatedValue();//获取期间变化的值

}

});

实现效果(代码展示)

public class RunnTextView extends TextView {

private ValueAnimator mValueAnimator;

private DecimalFormat mDf;

public RunnTextView(Context context) {

this(context,null);

}

public RunnTextView(Context context, @Nullable AttributeSet attrs) {

this(context, attrs,0);

}

public RunnTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {

super(context, attrs, defStyleAttr);

init();

}

private void init() {

//格式化小数(保留小数点后两位)

mDf = new DecimalFormat("0.00");

initAnim();

}

/**

* 初始化动画

*/

private void initAnim() {

mValueAnimator = ValueAnimator.ofFloat(0,0);//由于金钱是小数所以这里使用ofFloat方法

mValueAnimator.setDuration(1000);//动画时间为1秒

mValueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

@Override

public void onAnimationUpdate(ValueAnimator animation) {

float value = (float) animation.getAnimatedValue();

if(value>0){//当数值大于0的时候才赋值

setText(mDf.format(value));

}

}

});

}

/**

* 设置要显示的金钱

* @param money

*/

public void setMoney(float money){

mValueAnimator.setFloatValues(0,money);//重新设置数值的变化区间

mValueAnimator.start();//开启动画

}

/**

* 取消动画和动画监听(优化内存)

*/

public void cancle(){

mValueAnimator.removeAllUpdateListeners();//清除监听事件

mValueAnimator.cancel();//取消动画

}

}

android数字滚动动画,Android超简单实现金钱滚动效果相关推荐

  1. DSP视频教程第2期:系统介绍ARM DSP数字信号处理库以及超简单的移植方法分享(2022-01-27)

    视频教程汇总帖:[学以致用,授人以渔]2022视频教程汇总贴,持续更新中,DSP更新到第4期,ThreadX更新到第3期,BSP驱动更新到第9期(2022-03-17) - STM32F429 - 硬 ...

  2. 超简单 CameraX 人脸识别效果封装

    超简单 CameraX 人脸识别效果封装 项目代码在最后面!!!!跳转到最后 本项目基于Google免费开源人脸识别库和CameraX封装实现,各Android机型兼容. 识别效果 单人脸识别效果: ...

  3. android实现抖音直播间飘屏送礼物动画(超简单)

    没有效果图的示例简直就是扯淡 飘屏动画 直接上代码吧 自定义view:ShowNewLuckyMsgView.class package com.chushou.demo2;import androi ...

  4. android 文字跳动动画,Android 仿余额宝数字跳动动画效果完整代码

    Android 仿余额宝数字跳动动画效果完整代码 发布时间:2020-08-24 06:55:30 来源:脚本之家 阅读:120 作者:曾淘 一:想都不用想的,有图有真相,看着爽了,在看下面源码 二: ...

  5. android 雷达搜索动画,Android实现微信雷达辐射搜索好友实例(逻辑清晰实现简单)...

    Android仿微信雷达扫描,仿安卓微信.云播雷达扫描动画效果点击中间的黑色圆圈开始扫描动画,再次点击复位,需要这种效果的朋友快点收藏了吧. 效果图如下: 这个界面大家肯定都非常熟悉了,下面来说一下原 ...

  6. android 图片滑动动画,Android实现图片滚动效果

    Android开发图片滚动效果,供大家参考,具体内容如下 效果图: 设置适配来设置图片位置大小 package com.example.gallary; import android.content. ...

  7. android嵌套组合动画,Android 三级NestedScroll嵌套滚动实践

    嵌套滚动介绍 我们知道 NestedScrolling(Parent/Child) 这对接口是用来实现嵌套滚动的,一般实现这对接口的 Parent 和 Child 没有直接嵌套,否则直接用 onInt ...

  8. android view交替动画,Android View原理(View树遍历,View重绘,View动画)

    一.屏幕绘图基础 Android中的GUI系统是客户端和服务端配合的窗口系统,即后台运行了一个绘制服务,每个应用程序都是该服务端的一个客户端,当客户端需要绘制时,首先请求服务端创建一个窗口,然后在窗口 ...

  9. android 指示器平移动画,Android实现带指示器的自动轮播式ViewPager

    前言 最近在做项目的时候,有个需求就是实现自动轮播式的ViewPager,最直观的例子就是知乎日报顶部的ViewPager,它内部有着好几个子view,每个一段时间便自动滑动到下一个item view ...

最新文章

  1. CV05-ResNet笔记
  2. excel 粘贴到web_最新技术让excel秒变web数据库
  3. NYOJ 645 骰子
  4. LruCache缓存bitmap(一)
  5. stm32f407能跑linux吗_跑步能跑进医院?那我该做跑步运动吗?想健康一点太难了...
  6. python可以代替plc吗_PLC可以代替安全控制器吗?电气工程师告诉你
  7. mysql error log清理_手动删除mysql日志/var/log/mysql/error.log导致的mysql无法启动
  8. c语言甘勇第二版第五章答案,C语言(1) - Patata的个人页面 - OSCHINA - 中文开源技术交流社区...
  9. 基础知识—表达式与语句-表达式
  10. linux备份系统iso,将Linux系统转换为ISO镜像文件以实现备份
  11. matlab nist接口文件,Matlab调用refprop教程说明
  12. 信息系统项目管理师通过率是多少?
  13. 【无标题】段码液晶驱动芯片VK1621S-1资料介绍
  14. 0投入,高收益,门槛低,自媒体副业推荐
  15. 【UI】优秀的网站欣赏以及分析
  16. zabbix监控windows主机网卡流量
  17. sv- typedef
  18. tp5下Could not open input file: think解决办法
  19. 写给工程师的 10 条精进原则
  20. 【面试】面试常问之堆栈的区别

热门文章

  1. ElasticSearch IK 分词器快速上手
  2. 技术干货 | 应用性能提升 70%,探究 mPaaS 全链路压测的实现原理和实施路径
  3. 如何跨项目工作空间访问MaxCompute资源和函数?
  4. 阿里云HBase Ganos全新升级,推空间、时空、遥感一体化基础云服务
  5. 左手代码右手滑板 支付宝这个程序员有些酷
  6. 机器学习与数据科学决策树指南
  7. 异构计算:软硬件结合全栈助力AI大爆发
  8. 省钱小贴士(ECS):教你如何每年省出8w+ 块
  9. 数据中台送到家 企业数字化转型“输血”变“造血”
  10. 【终于等到你】7种策略解除云风险警报