AnimationSet以相反的顺序播放

时间:2012-03-06 14:27:28

标签: android animation android-animation

我正在使用AnimationSet来做很多翻译动画。在这个例子中,我想将ImageView从0移动到700(屏幕外),从-700移动到0(视图移动到最右边,从最左边重新进入)。我使用这段代码:

    AnimationSet set = new AnimationSet(true);
    set.setInterpolator(new AccelerateDecelerateInterpolator());
    set.setFillEnabled(true);
    if(traject!=null){
        TranslateAnimation tmpAnim = null;
        set.setDuration(duration);
        int d = traject.size()!=0 ? duration/traject.size() : duration;

        for(int i =0; i<traject.size();i++){
            tmpAnim = new TranslateAnimation( traject.get(i).getStartX(),
                                            traject.get(i).getEndX(),
                                            traject.get(i).getStartY(),
                                            traject.get(i).getEndY() );
            tmpAnim.setDuration(d);
            tmpAnim.setFillAfter(true);
            tmpAnim.setStartOffset(d*i);
            set.addAnimation(tmpAnim);
        }
    }
  • 是一个包含每个TranslateAnimation起点和终点的arraylist

但是在我的测试示例中,动画从-700到700.我尝试使用setStartTime()而不是setStartOffset()来切换TranslateAnimations的顺序,跳过对setStartOffset()的调用,结果是相同的。你对我失踪了吗?

0 个答案:

没有答案