RecyclerView,动画滚动列表,动画下一个项目,仅在第一个项目完成后

时间:2016-08-01 13:12:08

标签: android animation android-recyclerview android-viewholder

我从这里拿了我的例子: http://frogermcs.github.io/instamaterial-recyclerview-animations-done-right/

然后我的动画看起来像这样:

  private void runEnterAnimation(View view, int position) {
    if (position > lastAnimatedPosition) {
        lastAnimatedPosition = position;
        view.setTranslationY(150*Constants.density);
        view.animate()
                .translationY(0)
                .setInterpolator(new DecelerateInterpolator(3.f))
                .setDuration(500)
                .start();
    }
}

我在onBindViewHolder中调用runEnterAnimation。 现在,如果我滚动列表,它按预期工作。但是当我滑动刷新时,它会同时加载前5个项目。我怎样才能使列表动画一个接一个?

编辑: 所以我检查了一些我可以访问的手机,屏幕适合5个列表项。所以我这样做了:

   private void runEnterAnimation(View view, int position) {
    if (position > lastAnimatedPosition) {
        int speed = 1;
        lastAnimatedPosition = position;
        if(position < 5)
            speed = position+1;
        new FadeInAnimation(view).setDuration(speed * 500).animate();
    }
}

其中FadeInAnimation是easyAndroidAnimations库中的动画。但。我对结果仍然不满意,因为如果我在刷新后移动列表,很快,第6个对象将比第5个对象更快地消失。但我说到目前为止我要分享我的结果。 我对任何其他建议持开放态度

0 个答案:

没有答案