When scroll bottom navigation bar does not hide - BottomNavigationBehavior

前端 未结 2 2071
栀梦
栀梦 2021-01-28 19:39

i want to hide bottom navigation bar so i am using bottom navigation behavior it works when i had other code but in this it seems not working i tried but bottom navigation bar

2条回答
  •  萌比男神i
    2021-01-28 20:36

    BottomLayoutBehavior.java

    package com.utility.behaviour;
    
    import android.content.Context;
    import android.util.AttributeSet;
    import android.view.View;
    
    import androidx.annotation.NonNull;
    import androidx.coordinatorlayout.widget.CoordinatorLayout;
    import androidx.core.view.ViewCompat;
    
    public class BottomLayoutBehavior extends CoordinatorLayout.Behavior {
    
        public BottomLayoutBehavior(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        @Override
        public boolean onStartNestedScroll(@NonNull CoordinatorLayout coordinatorLayout, @NonNull V child,
                                           @NonNull View directTargetChild, @NonNull View target, int axes, int type) {
            return axes == ViewCompat.SCROLL_AXIS_VERTICAL;
        }
    
        @Override
        public void onNestedPreScroll(@NonNull CoordinatorLayout coordinatorLayout, @NonNull V child,
                                      @NonNull View target, int dx, int dy, @NonNull int[] consumed, int type) {
            child.setTranslationY(Math.max(0f, Math.min(child.getHeight(), child.getTranslationY() + dy)));
            super.onNestedPreScroll(coordinatorLayout, child, target, dx, dy, consumed, type);
        }
    }
    

    activity_main.xml

    
    
        
    
            
        
    
        
    
        
        
    
    

    NB: android:layout_gravity="bottom" & app:layout_behavior="com.utility.behaviour.BottomLayoutBehavior" is mandatory.

提交回复
热议问题