view.animate().translationY() 填空space

view.animate().translationY() fill empty space

我通过视图动画 类 为我的 header 滚动视图设置动画,如下所示:

view.animate()
.translationY(-view.getBottom())
.alpha(0)
.setDuration(HEADER_HIDE_ANIM_DURATION)
.setInterpolator(new DecelerateInterpolator());

问题是正在翻译的视图下面的视图没有填满翻译后的视图空 space:

我的布局看起来像这样:

<LinnearLayout>
   <include layout"toolbar" /> //included layout which is the view translated
   <FrameLayout  /> //fragment container
</LinnearLayout>

我该如何解决这个问题?

您是否尝试淡出工具栏? 尝试手动操作您的 FrameLayout。 像这样:

        ObjectAnimator animator = ValueAnimator.ofFloat(0, -view.getBottom());

        animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator animation) {
                toolbar.setTranslationY(-animation.getAnimatedValue)
                mFrameLayout.layout(mFrameLayout.getLeft(), animation.getFraction() * mToolbar.getHeight(), mFrameLayout.getRight(), mFrameLayout.getBottom());
            }
        });
        toolbar.startAnimation(animator);