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);
我通过视图动画 类 为我的 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);