2017-12-11 4 views
0

初めてアクティビティを読み込むときにボトムシートを非表示にしたいビヘイビアを使用してボトムシートを隠す方法はありますか?

ボタンをクリックすると、下のシートが表示されます。

だから私は、このよう

<LinearLayout 
     android:id="@+id/main_linearlayout_BottomSheet" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     app:behavior_hideable="true" 
     app:behavior_peekHeight="200dp" 
     app:layout_behavior="@string/bottom_sheet_behavior" 
     android:background="@drawable/mappoint_edge" 
     > 

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     bottomSheet.setState(BottomSheetBehavior.STATE_HIDDEN); 

} 

とするとき、ボタンをクリックし、

private void setButton() { 

if (!state){ 
     bottomSheet.setState(BottomSheetBehavior.STATE_COLLAPSED); 
    }else{ 
     bottomSheet.setState(BottomSheetBehavior.STATE_HIDDEN); 
    } 


} 

を設定するしかし、私はこの中で、いくつかの問題があります。

onCreatebottomSheet.setState(BottomSheetBehavior.STATE_HIDDEN)と入力すると、bottomSheetはクリックしても表示されませんが、削除すると、bottomSheetは非表示になり、クリックで表示されます。

私がbottomSheet.setState(BottomSheetBehavior.STATE_HIDDEN)を配置する場所で初めてbottomSheetを隠したいのであれば、

あなたはそれについて知っている場合は、、onCreateでは、ボタンの使用をおonClick()インサイド

bottomSheetBehavior.setPeekHeight(200); 
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); 

答えて

0

bottomSheetBehavior.setPeekHeight(0); 
bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); 

そして、私はそれを表示し

+0

あなたのiaaueを解決した場合は、正しい答えとして投票してください。問題が解決しない場合は、教えてください。 –

0

をご返信ください:sheet.show()

次に、それを閉じるには、sheet.dismiss()を使用してください。

private void setButton() { 
    if (!state){ 
     bottomSheet.show() 
    }else{ 
     bottomSheet.dismiss() 
    } 
} 
関連する問題