首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在安卓中循环动画ScrollView在两次重复之间暂停

在安卓中循环动画ScrollView在两次重复之间暂停
EN

Stack Overflow用户
提问于 2014-12-03 04:21:47
回答 1查看 689关注 0票数 2

我正在用Android实现一个老虎机。卷轴是ScrollViews,LinearLayouts作为子对象,单独的tiles作为ImageViews在LinearLayout中垂直定向。我使用ObjectAnimator滚动到ScrollView的末尾,使用ValueAnimator.RESTART和ValueAnimator.INFINITE。卷轴滚动很流畅,但当需要重复时,它会暂停一秒钟,这会破坏效果。下面是我使用的代码:

代码语言:javascript
复制
  public void spinReel(SlotReel reel) {
        final int reelSize = this.context.getPixelsInDPs(64);
        final SlotMachineView me = this;
        final SlotReel myReel = reel;
        ImageView[] tiles = reel.getTiles();
        int delta = tiles.length - reel.currentTileNumber();
        ObjectAnimator animator = ObjectAnimator.ofInt(reel, "scrollY", tiles.length * reelSize );
        animator.setInterpolator(new LinearInterpolator());
        animator.setDuration(delta * 75);
        animator.setStartDelay(0);
        animator.setRepeatMode(ValueAnimator.RESTART);
        animator.setRepeatCount(ValueAnimator.INFINITE);
        animator.addListener(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animator) {

            }

            @Override
            public void onAnimationEnd(Animator animator) {
            }

            @Override
            public void onAnimationCancel(Animator animator) {

            }

            @Override
            public void onAnimationRepeat(Animator animator) {
                myReel.scrollTo(0, reelSize * 3);

            }
        });
        animator.start();

    }

请注意,无论我是否将scrollTo放在重复回调中,都会发生突变。

视频here示例

EN

回答 1

Stack Overflow用户

发布于 2016-07-14 00:20:11

您应该尝试:

代码语言:javascript
复制
setRepeatMode(ValueAnimator.INFINITE);

看这里,Android ValueAnimator pauses during repeat

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27258218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档