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方法。

© 2015, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记