0

J'essaie de masquer la barre d'outils lors du défilement dans un ViewGroup avec BottomSheetBehavior.
La vue défilante se trouve dans ViewPager.
mise en page est la suivante:Masquer la barre d'outils sur le défilement à l'intérieur de la vue BottomSheet

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/appbar"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_height="?attr/actionBarSize" 
      android:layout_width="match_parent" 
      app:layout_scrollFlags="scroll|enterAlways"/> 

     <com.astuetz.PagerSlidingTabStrip 
      android:id="@+id/tabs" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="#00000000" 
      app:pstsIndicatorHeight="3dp" 
      app:pstsShouldExpand="@bool/shouldExpandTab" 
      app:pstsPaddingMiddle="@bool/padMiddle" 
      app:pstsTabTextStyle="coded" 
      android:paddingLeft="10dp" 
      android:paddingRight="10dp" 
      android:gravity="center" 
      app:layout_scrollFlags="scroll|enterAlways"/> 

    </android.support.design.widget.AppBarLayout> 

    <com.nao20010128nao.Wisecraft.misc.view.OverScrollViewPager 
     android:layout_height="match_parent" 
     android:layout_width="match_parent" 
     android:id="@+id/pager"/> 

</LinearLayout> 

Dans ce xml, com.nao20010128nao.Wisecraft.misc.view.OverScrollViewPager est l'une des classe ViewPager il fonctionne comme ViewPager.
Ce code ne masque pas la barre d'outils lorsque je fais défiler la vue dans BottomSheet.
Des solutions?

Répondre

0

essayer de changer la visibilité lorsque le changement d'état

final BottomSheetBehavior behavior = BottomSheetBehavior.from(findViewById(R.id.bottomSheet)); 
     behavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() { 
      @Override 
      public void onStateChanged(@NonNull View bottomSheet, int newState) { 
       if (newState > BottomSheetBehavior.STATE_DRAGGING) 
        bottomSheet.post(new Runnable() { 
         @Override public void run() { 
          behavior.setState(BottomSheetBehavior.STATE_EXPANDED); 
         } 
        }); 
      } 

      @Override 
      public void onSlide(@NonNull View bottomSheet, float slideOffset) { 
      } 
     });