2017-06-12 54 views
1

我正在嘗試不使用填充整個屏幕的BottomSheet,但在展開時留出一些空間。這是我的代碼,onExpand填充整個屏幕。Bottomsheet需要全屏

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

集XML或peekheight java文件 – Kushan2

+0

我相信peekHeight的工作與底部高度的紙張不間距上面 – Jay

回答

0

一個簡單的把戲已經做到了。我無法阻止底片從具有全屏現在,所以我有一個觀點是透明的我需要的尺寸,並通過將其添加到bottomSheetLayout解決了我的問題

<View 
    android:layout_width="match_parent" 
    android:id="@+id/spaccer" 
    android:layout_height="28dp" 
    android:background="@android:color/transparent" 
    android:alpha="0.6"/>