Android 仿支付宝数字变换,滚动

本文介绍了一个简单的数字动画效果实现方案,使用50行代码完成数字滚动动画,支持int类型数据,适用于Android应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看了一些别人写的,结合自己的优化,优化,50行代码。仅支持int类型,自己做记录,不喜勿喷谢谢。


public class RunNumAnimation extends android.support.v7.widget.AppCompatTextView {
    private int duration;
    private int number;

    public RunNumAnimation(Context context) {
        super(context);
    }
    //构造函数必须写,否则报错。
    public RunNumAnimation(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    private void setDuration(int duration) {
        this.duration = duration;
    }

    private void setNumber(int number) {
        this.number = number;
    }

    public void start(int num, int duration) {
        setDuration(duration);
        setNumber(num);
        runNum();
    }

    private void runNum() {
        final ValueAnimator valueAnimator = ValueAnimator.ofInt(0, number);//从0开始,number是你要传的数据
        valueAnimator.setDuration(duration);
        valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator animation) {
                setText(valueAnimator.getAnimatedValue().toString());
            }
        });
        valueAnimator.start();
    }

}

private RunNumAnimation run_num

run_num = (RunNumAnimation) findViewById(R.id.run_num);//注意类型不是TextView

run_num.start(1024,1500);//对外提供start方法,1024是你要传的数据,1500是时长。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值