Empty space is displayed after translating the animation

I hide Toolbarwhen scrolling down, the only ones left on the left will be SlidingTabLayoutand ViewPager, like the behavior that the PlayStore has. But after moving SlidingTabLayoutI see a white empty space. How to eliminate this and allow ViewPagerto occupy additional space?

When scrolling up, Toolbarshows When scrolled up, Toolbar shows

When scrolling down, it leaves an empty space from SlidingTabLayout When scrolled down, it leaves empty space from 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();
}
+4
source share
2 answers

set the linear layout where you place the extended toolbar on android: animateLayoutChanges = "true"

, , GONE - , . , , , .

0

RelativeLayout LinearLayout, .

0

All Articles