效果图: 点击start将会从初始值 到结束值 以滚动的形式进行轮滚。(仿支付宝)
1.创建思想:
首先我们可以确定的是动画,这是一个动画,我们可以选择通过属性动画来进行实现;
然后对这些数字进行约束,进行格式化,我会一步一步讲解实现步骤,
2.实现过程:
1) 首先这是一个文本,所以我们要自定义一个文本,ScrollingDigitalAnimation 继承 TextView
2) 判断设置的数字合法性
if (checkNumString(numberStart, numberEnd)) {
// 数字合法 开始数字动画 start(); } else { //数字不合法 直接调用 setText 设置最终值 setText(prefixString + numberEnd + postfixString); }
通过代码可以知道,如果数字合法,直接开启动画,如果数字不合法,通过将数字字符串进行拆分显示,
3) 判断数字的合法性
try { new BigInteger(numberStart); new BigInteger(numberEnd); isInt = true; } catch (Exception e) { isInt = false; e.printStackTrace();