在低版本Android使用,动画将不执行(但是也不崩溃)

    所有的图表类型都支持动画,那能被用来创建图表以一种很酷的方式。有三种类型的动画方法存在通过x轴,y轴或者两个轴来区分:

    • animateX(int durationMillis):动画的图表值在水平轴,意味着图标将在指定的时间从左到右建立。
    • animateY(int durationMillis):动画图表值在y轴,意味着图表将在指定的时间内从下到上构建。
    • animateXY(int xDuration, int yDuration):动画显示于水平和垂直的轴上,结果为左右上下都可以构建。

    动画缓冲

    这个库允许你为你的动画使用好的缓冲函数。你能选着下面预定义的静态Easing.EasingOption

    1. Linear,
    2. EaseInQuad,
    3. EaseOutQuad,
    4. EaseInOutQuad,
    5. EaseInCubic,
    6. EaseOutCubic,
    7. EaseInOutCubic,
    8. EaseInQuart,
    9. EaseOutQuart,
    10. EaseInSine,
    11. EaseOutSine,
    12. EaseInOutSine,
    13. EaseOutExpo,
    14. EaseInOutExpo,
    15. EaseInCirc,
    16. EaseOutCirc,
    17. EaseInOutCirc,
    18. EaseInElastic,
    19. EaseOutElastic,
    20. EaseInOutElastic,
    21. EaseInBack,
    22. EaseOutBack,
    23. EaseInBounce,
    24. EaseOutBounce,
    25. }

    基本上有两种缓冲动画:

    1、预定义缓冲动画:(这些代码可以运行在任何安卓版本)

    1. // animate both axes with easing
    2. mChart.animateY(3000, Easing.EasingOption.EaseOutBack);

    在安卓3.0(API Level 11)以下版本总是使用Easing.EasingOption为预定义缓冲动画。

    2、自定义缓冲函数:(自定义缓冲函数在安卓3.0以下会崩溃)

    创建自定义缓冲动画通过创建你自己的缓冲函数和实现EasingFunction接口:

    1. /**
    2. * Interface for creating custom made easing functions.
    3. */
    4. public interface EasingFunction {
    5. /**
    6. * Called everytime the animation is updated.
    7. * @param input - the time passed since the animation started (value between 0 and 1)
    8. */
    9. }