2017-02-17 80 views
0

我在的onCreate()使用this解決方案和this顯示和隱藏下頁編程

sheet = new BottomSheet.Builder(this, R.style.BottomSheet_Dialog) 
     .title("New") 
     .grid() // <-- important part 
     .sheet(R.menu.menu_bottom_sheet) 
     .listener(new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialog, int which) { 
     // TODO 
    } 
}).build(); 

現在,我想展現底層牀單實現我的活動範圍內的下片功能,按鈕的點擊以同樣的方式想要隱藏底部表單點擊相同的按鈕,如果已經可見

+0

你好的姐妹,我認爲你可以做到這一點的基礎上是否認爲sheet.show()和sheet.dismiss()可見或不可見。 –

+0

@Sophie在我們的幫助下找到解決方案時接受答案 – MatPag

回答

2

在你的onClick()的按鈕內使用:sheet.show()

然後當你想解僱它時,使用sheet.dismiss();

PS:可能是你需要一個布爾標誌,要知道,如果你的表是顯示與否,這裏下面一個起點:

boolean sheetShowing; 
Button button = (Button)findViewById(R.id.mybutton); 
button.setOnClickListener(new OnClickListener(){ 
    @Override 
    public void onClick(View v) { 
     if (sheetShowing){ 
      sheet.dismiss(); 
     } else { 
      sheet.show();  
     } 
     sheetShowing = !sheetShowing; 
    } 
}); 
0

使用下面的代碼

new BottomSheet.Builder(getActivity()).title("Your Title here").sheet(R.menu.bottom_sheet).listener(new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       switch (which) { 
        case R.id.cancel: 
         dialog.cancel(); 
         break; 
        case R.id.view: 
         //Todo view code here 
         dialog.cancel(); 
         break; 
       } 
      } 
     }).show(); 
1

要關閉BottomSheetDialogFragment從片段中,你可以撥打:

dismiss(); 

要顯示或從活動隱藏BottomSheetDialogFragment,你可以簡單地調用:

bottomSheetDialogFragment.dismiss();//to hide it 
bottomSheetDialogFragment.show(getSupportFragmentManager(),tag);// to show it