我在向下滚动时隐藏了Toolbar
,剩下的唯一视图就是SlidingTabLayout
和ViewPager
,就像PlayStore的行为一样。但是SlidingTabLayout
移动后我可以看到一个空白空格。如何消除这种情况并让ViewPager
占用额外的空间?
向上滚动时,Toolbar
会显示
向下滚动时,它会从SlidingTabLayout
留下空白区域
@Override
public void onScrollUp() {
if (isToolbarHidden()) showToolbar();
}
@Override
public void onScrollDown() {
if (isToolbarShown()) hideToolbar();
}
private void showToolbar() {
moveToolbar(0);
moveTabs(0);
}
private void hideToolbar() {
moveToolbar(-mToolbar.getHeight());
moveTabs(-mTabs.getHeight());
}
private void moveTabs(float toTranslationY) {
if (ViewHelper.getTranslationY(mTabs) == toTranslationY) return;
ValueAnimator animator = ValueAnimator.ofFloat(ViewHelper
.getTranslationY(mTabs), toTranslationY)
.setDuration(ANIMATE_TIME_MILLIS);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float translationY = (float) animation.getAnimatedValue();
ViewHelper.setTranslationY(mTabs, translationY);
}
});
animator.start();
}
答案 0 :(得分:0)
设置将扩展工具栏放置到android的线性布局:animateLayoutChanges =“true”
除此之外,您想要将工具栏占用的空间设置为GONE,以便在不闪烁的情况下启动动画,并获取空白区域。我从未使用过扩展的工具栏,但这是我在普通工具栏中完全想要的时候用普通工具栏做的。
答案 1 :(得分:0)
尝试使用 RelativeLayout 代替 LinearLayout 来包含工具栏。