Android数字变化动画_数字递增动画效果
2016-09-14 12:40:00  By: shinyuu

分享一个数字Android增长的Demo、这是一个自定义view、布局就是一个简单的线性布局而已、通过addview的方式、将自定义view显示出来、渐变圆以及外圈圆、外圈小圆是自定义view、其他三个文字是Textview

android 数字递增动画


跑小数动画代码

private void runFloat() {
    ValueAnimator valueAnimator = ValueAnimator.ofFloat(fromNumber, number);
    valueAnimator.setDuration(duration);

    valueAnimator
            .addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
                @Override
                public void onAnimationUpdate(ValueAnimator valueAnimator) {

                    setText(fnum.format(Float.parseFloat(valueAnimator
                            .getAnimatedValue().toString())));
                    if (valueAnimator.getAnimatedFraction() >= 1) {
                        mPlayingState = STOPPED;
                        if (mEndListener != null)
                            mEndListener.onEndFinish();
                    }
                }


            });

    valueAnimator.start();
}


跑整数动画代码

private void runInt() {

    ValueAnimator valueAnimator = ValueAnimator.ofInt((int) fromNumber,
            (int) number);
    valueAnimator.setDuration(duration);

    valueAnimator
            .addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
                @Override
                public void onAnimationUpdate(ValueAnimator valueAnimator) {
                    //设置瞬时的数据值到界面上
                    setText(valueAnimator.getAnimatedValue().toString());
                    if (valueAnimator.getAnimatedFraction() >= 1) {
                        //设置状态为停止
                        mPlayingState = STOPPED;
                        if (mEndListener != null)
                            //通知监听器,动画结束事件
                            mEndListener.onEndFinish();
                    }
                }
            });
    valueAnimator.start();
}


使用方法

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ButterKnife.bind(this);
    init();
}

private void init() {

    doughnutView.removeAllViews();
    doughnutView.addView(new HomeArcView(this, 83, 1));
    animText(tvRiseNum, 2348);
    tvNum01.setText("当前人数为83人");
    tvNum02.setText("更新于12:00");
}

/**
 * 给一个TextView设置一个数字增长动画
 */
public static void animText(RiseNumberTextView tv, int number) {
    // 设置数据
    tv.withNumber(number);
    // 设置动画播放时间
    tv.setDuration(1500);
    tv.start();
}


android 数字增加动画源代码下载链接: android 数字递增动画 密码: zhy6

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+