Android开发-02 数字滚动实现
来源:互联网 发布:linux man 用法 编辑:程序博客网 时间:2024/05/18 03:05
提供两种数字滚动实现:
1.利用自定义控件(textview、view皆可)2.创建动画工具类
代码链接:https://github.com/tok-gogogo/NumberTextView
第一种实现方法
为控件添加动画,主要代码:
private void runFloat() {ValueAnimator valueAnimator = ValueAnimator.ofFloat(fromNumber, number);valueAnimator.setDuration(duration);valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator valueAnimator) { if (flags) { setText(Utils.format(",##0.00").format(Double.parseDouble(valueAnimator.getAnimatedValue().toString())) + ""); if (valueAnimator.getAnimatedValue().toString().equalsIgnoreCase(number + "")) { setText(Utils.format(",##0.00").format(Double.parseDouble(number + ""))); } } else { setText(Utils.format("##0.00").format(Double.parseDouble(valueAnimator.getAnimatedValue().toString())) + ""); if (valueAnimator.getAnimatedValue().toString().equalsIgnoreCase(number + "")) { setText(Utils.format("##0.00").format(Double.parseDouble(number + ""))); } } if (valueAnimator.getAnimatedFraction() >= 1) { mPlayingState = STOPPED; if (mEndListener != null) mEndListener.onEndFinish(); } } }); valueAnimator.start(); }
第二种实现方法
通过把我们要设置的数字拆分成了n个float组成的集合,然后在使用循环把这些float设置到TextView上。
主要利用了View的postDelayed(Runable action, int delayMillis)方法来达到动画效果。
@Override public void run() { if (i>nums.length-1) { view.removeCallbacks(Counter.this); return; } view.setText(NumUtil.NumberFormat(nums[i++],2)); view.removeCallbacks(Counter.this); view.postDelayed(Counter.this, pertime); }
0 0
- Android开发-02 数字滚动实现
- Android 实现滚动数字的TextView
- android开发游记:仿支付宝余额数字累加滚动效果的实现
- android开发游记:仿支付宝余额数字累加滚动效果的实现
- android开发游记:仿支付宝余额数字累加滚动效果的实现
- jQuery实现数字滚动
- android 数字滚动
- Android数字纵向滚动
- Android开发技巧 图片滚动效果实现
- Android开发-ScrollView简单实现滚动-AndroidStudio
- JQ实现数字滚动显示
- android开发之gallery 实现滚动一张且短距离滑动实现滚动
- Android应用开发--MP3音乐播放器滚动歌词实现
- Android应用开发--MP3音乐播放器滚动歌词实现
- Android开发之TextView文字水平滚动效果实现
- Android应用开发--MP3音乐播放器滚动歌词实现
- Android开发之实现水平滚动效果—RecyclerView
- Android属性动画实现TextView类似支付宝余额数字滚动
- 第3章 单一职责原则
- QTcpSocket 及 TCP粘包分析
- PostgreSQL学习第十二篇 服务的启停和创建
- java基础之Object类的三个方法(hashCode、toString、equals)
- Netty初级探索——代码实践
- Android开发-02 数字滚动实现
- 自动化小记1:
- Java用HttpClient3发送Get和Post请求(增强)
- 网卡故障:弹出界面eth0: 错误:没有找到合适的设备:没有找到可用于链接System eth0 的设备
- 关于握手定理
- java-从入门到死亡
- jQuery中ready()和load()区别
- openwrt 存放一些log
- 使用UEditor