0%

Android开发:仿余额宝数字金额跳动的TextView

余额宝的金额在显示时是会跳动的,而且改变的速度是不一样的。下面自定义一个这种效果的View.

/**
* 动画显示数字
* Created by fhp on 15/1/7.
*/
public class CountView extends NumberView{
//动画时长 ms
int duration = 1500;
float number;
public CountView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public void showNumberWithAnimation(float number) {
//修改number属性,会调用setNumber方法
ObjectAnimator objectAnimator=ObjectAnimator.ofFloat(this,”number”,0,number);
objectAnimator.setDuration(duration);
//加速器,从慢到快到再到慢
objectAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
objectAnimator.start();
}

public float getNumber() {
    return number;
}

public void setNumber(float number) {
    this.number = number;
    setText(String.format("%1$07.2f",number));
}

}

NumberView继续自TextView,这里直接改成TextView即可,NumberView只是设置了一个适合数字显示的字体。 调用时,用showNumberWithAnimation方法。