2017-02-17 3 views
0

は、私は、ボタンのクリックで、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(); 

が、私はボトムシートを表示したいthisライブラリを使用してのonCreate()で私の活動の中にボトムシートの機能を実装していると、ボタンと同じボタンをクリックすると、下のシートを隠すことができます。表示されている場合

+0

こんにちはSISTA、私はあなたがするかどうかのビューに基づいて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