1.setAnimation和startAnimation区别

来源:互联网 发布:wr威廉指标参数优化 编辑:程序博客网 时间:2024/06/06 21:37

设置一个动画播放这一观点。如果你想立即播放的动画,使用startAnimation这种方法提供了允许细粒度控制的起始时间和失效,

但你必须确保:1)动画开始时间 2)动画应该开始的观点将被视为无效

    /**     * Sets the next animation to play for this view.     * If you want the animation to play immediately, use     * startAnimation. This method provides allows fine-grained     * control over the start time and invalidation, but you     * must make sure that 1) the animation has a start time set, and     * 2) the view will be invalidated when the animation is supposed to     * start.     *     * @param animation The next animation, or null.     */    public void setAnimation(Animation animation) {        mCurrentAnimation = animation;        if (animation != null) {            animation.reset();        }    }

现在开始指定的动画

    /**     * Start the specified animation now.     *     * @param animation the animation to start now     */    public void startAnimation(Animation animation) {        animation.setStartTime(Animation.START_ON_FIRST_FRAME);        setAnimation(animation);        invalidateParentCaches();        invalidate(true);    }

建议使用

startAnimation来启动动画,setAnimation启动动画是需要条件的