2017-06-12 24 views
1

画面全体に表示されるBottomSheetは作成しないようにしていますが、展開時に上にスペースを残しています。 onExpandが画面全体に表示する私のコードはここにあります。 ボトムシートはフルスクリーン表示

bottomSheetBehavior = BottomSheetBehavior.from(bottomLayout); 
     bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); 

     bottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() { 
      @Override 
      public void onStateChanged(@NonNull View bottomSheet, int newState) { 
       switch (newState) { 
        case BottomSheetBehavior.STATE_DRAGGING: 
         Log.i("BottomSheetCallback", "BottomSheetBehavior.STATE_DRAGGING"); 
         break; 
        case BottomSheetBehavior.STATE_SETTLING: 
         Log.i("BottomSheetCallback", "BottomSheetBehavior.STATE_SETTLING"); 
         break; 
        case BottomSheetBehavior.STATE_EXPANDED: 
         Log.i("BottomSheetCallback", "BottomSheetBehavior.STATE_EXPANDED"); 
         break; 
        case BottomSheetBehavior.STATE_COLLAPSED: 
         Log.i("BottomSheetCallback", "BottomSheetBehavior.STATE_COLLAPSED"); 
         break; 
        case BottomSheetBehavior.STATE_HIDDEN: 
         Log.i("BottomSheetCallback", "BottomSheetBehavior.STATE_HIDDEN"); 
         break; 

       } 
      } 

      @Override 
      public void onSlide(@NonNull View bottomSheet, float slideOffset) { 
       Log.i("BottomSheetCallback", "slideOffset: " + slideOffset); 
       boolean drawer = getSupportFragmentManager().getBackStackEntryCount() == 0; 
       ObjectAnimator.ofFloat(drawerArrow, "progress", drawer ? 0 : 1).start(); 
      } 
     }); 


     bottomLayout.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       Log.v(TAG, "ONCLickListner"); 

       if (bottomSheetBehavior.getState() == BottomSheetBehavior.STATE_COLLAPSED) { 
        Log.v(TAG,"state expand"); 
        bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); 
       } else { 
        Log.v(TAG,"state collapse"); 
        bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); 
       } 

      } 
     }); 

あなたは私の問題に対処し、画面全体を取ることはないbottomsheet作るのが、拡大したときに上記のいくつかのスペースを残すための方法を提案してくださいすることができます。 ありがとう

+0

セットを解決しましたJavaファイル – Kushan2

+0

peekHeightはシートの高さの下限で動作すると思います – Jay

答えて

0

簡単なトリックがそれを行っています。私は今のフルスクリーンを持っていることからボトムシートを阻止することができませんでしたので、私は私の必要なサイズの透明な見解を持っていた、とbottomSheetLayoutに追加することで、XMLまたはでpeekheight私の問題

<View 
    android:layout_width="match_parent" 
    android:id="@+id/spaccer" 
    android:layout_height="28dp" 
    android:background="@android:color/transparent" 
    android:alpha="0.6"/> 
関連する問題