web-dev-qa-db-ja.com

Androidでボトムシートの「背後」をクリックできるのはなぜですか?

アクティビティにBottomSheetがあります。

ボトムシートを表示するためにbehavior.setState(BottomSheetBehavior.STATE_EXPANDED);を呼び出していますが、正常に動作しますが、ボトムシートの空のスペースをクリックしてonClickイベントをトリガーできるという問題があります。下のシートの後ろにあるビュー。

これを防ぐ方法はありますか?

25
user1865027

簡単な解決策は、Android:clickable=trueボトムシートに使用しているレイアウトへの属性。このようにして、すべてのクリックをキャプチャし、それらを通過させません。それらを処理する必要がないため、onClickメソッドを設定する必要はありません。

34
lionscribe

私は同じ問題に直面しました!

追加 Android:clickable=trueをBottomSheetに!以下のようになります!

     <LinearLayout
        Android:clickable="true"
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        Android:background="@color/materialWhite"
        Android:orientation="vertical"
        app:layout_behavior="com.google.Android.material.bottomsheet.BottomSheetBehavior">

</LinearLayout>
0
Nisarg Jani