TextView 文字添加动画效果

废话不多说,直接上代码

//动态效果
    public void convertText(final TextView textView, final int convertTextId) {
        final Animation scaleIn = AnimationUtils.loadAnimation(this,
                R.anim.text_scale_in);
        Animation scaleOut = AnimationUtils.loadAnimation(this,
                R.anim.text_scale_out);
        scaleOut.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {
            }

            @Override
            public void onAnimationEnd(Animation animation) {
                textView.setText(convertTextId);
                textView.startAnimation(scaleIn);
            }

            @Override
            public void onAnimationRepeat(Animation animation) {
            }
        });
        textView.startAnimation(scaleOut);
    }

text_scale_in.xml

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

    <scale
        android:duration="500"
        android:fromXScale="0"
        android:fromYScale="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="1.0"
        android:toYScale="1.0" />

</set>

text_scale_out.xml

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

    <scale
        android:duration="150"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="0"
        android:toYScale="0" />

</set>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、介绍这是一个可以让数字滚动的TextView,他能兼容正数,负数,甚至是小数。翻滚的数字精度也完全可以由自己控制,每次可以变化精度的n倍,通过此功能可以实现倒数第一反转,倒数第二位翻转,倒数第n位翻转。支持设置开始翻滚的数值以及动画的最大时间。可以在数字后面设置单位,以前前面设置符号。支持控件属性设置二、使用使用1、项目配置   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.使用 2.1、正负数的使用 默认效果从零开始,以最小精度开始动画 ,支持正负数,可以直接设置                 ntvTestOne.setNumberValue("100");  ntvTestOne.setNumberValue("-100");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");2.3支持动画开始值的设定,以及动画最长时间的设置。这样可以拒绝从0开始的傻瓜式增长,通过该设置可以实现动画位数,例如比如168,设置成150开始,就是最后两位滚动。最长时间的设置可以保证当数字很大时,一直看动画-> _-> 并且支持动画结束以后的回调,可以查看动画开始时间,以及动画时间(时间与设定会有略微差距).但设置了开始值又设定了动画时间,会比较哪一种方式比较快就会取哪一种    ntvTestSix.setNumberValue("95","100"); ntvTestSeven.setMaxAnimDuration(2000); ntvTestSeven.setUseMax(true); ntvTestSeven.setNumberTextViewListener(new NumberTextView.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");

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值