0

BottomSheetBehaviorを持つViewGroup内のスクロールでツールバーを非表示にしようとしています。
スクロールビューはViewPagerの内側にあります。このXMLで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> 

それはViewPagerとして働くようcom.nao20010128nao.Wisecraft.misc.view.OverScrollViewPagerはViewPagerクラスの一つであり、次のように
レイアウトがあります。
このコードは、BottomSheet内のビューをスクロールするときにツールバーを非表示にしません。
すべてのソリューション?

答えて

0

は時に状態変化を可視性を変更しようと

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) { 
      } 
     }); 
関連する問題