Android 百分位金额数字动画添加 方支付余额

在我们的项目中,如果牵扯到金额,而且非常大的时候,进入页面希望看到数字滚动增加,有一个视觉效果

其实实现起来也非常的简单:

//在onwindonfouceChanged 方法中执行动画,不能放在oncreate中,
// 因为oncreate中控件没有完成加载完毕并,这时候去执行动画可能不生效
// 或者放在.post(new Runnable() {});中执行
@Override
public void onWindowFocusChanged(boolean hasFocus) {
   super.onWindowFocusChanged(hasFocus);
   //值动画与ObjectAnimator 的不同之一就是值动画没有作用的属性
   ValueAnimator mOffsetAnimator = new ValueAnimator();
   mOffsetAnimator.setInterpolator(new DecelerateInterpolator());
   //添加监听,得到值进行设置
   mOffsetAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
      @Override
      public void onAnimationUpdate(ValueAnimator animation) {
         if (animation.getAnimatedValue() instanceof Integer) {
            Integer value = (Integer) animation.getAnimatedValue();

            mNum.setText(formatS(value));
         }
      }
   });

   mOffsetAnimator.setDuration(4000);
   mOffsetAnimator.setIntValues(1, 10000000);
   mOffsetAnimator.start();
}

//数字百分位转换
public String formatS(Integer s){
   DecimalFormat df = new DecimalFormat("##,###");
   String format = df.format(s);
   return format;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值