NubmerTextVeiw

介绍:

这是一个可以让数字滚动的TextView,他能兼容正数,负数,甚至是小数。翻滚的数字精度也完全可以由自己控制,每次可以变化精度的n倍,通过此功能可以实现倒数第一反转,倒数第二位翻转,倒数第n位翻转。支持设置开始翻滚的数值以及动画的最大时间。可以在数字后面设置单位,以前前面设置符号。

运行效果:

使用说明:

1、项目配置

图片1.png

   1.1、在上图标注1的文件中找到相应位置加入下面代码

 dependencies {
       compile 'com.github.onlybeyond:NubmerTextVeiw:1.0.7'
}

1.2在上图标注2的文件中找到相应位置加入下面代码

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

1.3同步一下配置结束了

2.使用

1.gif

    2.1、正负数的使用

 默认效果从零开始,以最小精度开始动画 ,支持正负数,可以直接设置               
 ntvTestOne.setNumberValue("100");
 ntvTestOne.setNumberValue("-100");

2.gif

 2.2支持小数,可以n倍精度变化,通过这个功能,可以实现倒数第一位滚动,倒数第二位
滚动,倒数n位滚动。

 //三倍精度增长
    ntvTestThree.setRollInt(3);
    ntvTestTwo.setUseMax(true);
    ntvTestThree.setNumberValue("100.9");
    //倒数第二位变化
    ntvTestFour.setRollInt(10);
    ntvTestFour.setNumberValue("100.9");
    //倒数第三位变化
    ntvTestFive.setRollInt(100);
    ntvTestFive.setNumberValue("100.9");

3.gif

2.3支持动画开始值的设定,以及动画最长时间的设置。这样可以拒绝从0开始的傻瓜式增长,通过该设置可以控制动画位数,比如168,设置成150开始,就是最后两位滚动。最长时间的设置可以保证当数字很大时,避免一直看动画的尴尬-> _-> ,支持动画结束以后的回调,可以查看动画开始时间,以及动画时间(时间与设定会有略微差距)。当设置了开始值又设定了动画时间,会取比较快的一种。

 ntvTestSix.setNumberValue("95","100");
        ntvTestSeven.setMaxAnimDuration(2000);
        ntvTestSeven.setUseMax(true);
        ntvTestSeven.setNumberTextViewListener(new N
umberTextView.NumberTextViewListener() {
            @Override
            public void animStart(long l) {
            }
            @Override
            public void animEnd(long l, long l1) {
                tvTestSevenTime.setText("时间:"+l1);
            }
        });
        ntvTestSeven.setNumberValue("100");

2.4、支持数值前后添加文字,这样在数字前面添加符号,在数字后面添加单位,满足更多的应用场景。

        ntvTestEight.setNumberValue("100");
        ntvTestEight.setNumberValueSymbol("$");
        ntvTestEight.setNumberValueUnit("元");

2.5支持属性配置文件,使用起来更佳简便

 <com.onlybeyond.numbertextview.NumberTextView
        android:id="@+id/ntv_test_nine"
        app:ntvStartValue="80"
        app:ntvRollInt="3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
//Activity        
ntvTestNine.setNumberValue("100.9");

四、总结
一名工程师,不仅要有眼前的代码,还要有读不懂的诗和去不了的远方。代码就像作者手中的笔,一行一类也可以塑造完美世界。
demo GitHub 下载地址

源码 GitHub 下载地址

扫描下载demo

下载

已下载
0