Warum kann ich in Android “hinter” dem Bottomsheet klicken?

Lesezeit: 2 Minuten

Benutzeravatar von user1865027
Benutzer1865027

Ich habe ein BottomSheet in meiner Aktivität.

Ich rufe an behavior.setState(BottomSheetBehavior.STATE_EXPANDED); um das unterste Blatt anzuzeigen und es funktioniert gut, aber das Problem, das ich habe, ist, dass ich irgendwie auf den leeren Bereich meines unteren Blatts klicken kann, um auszulösen onClick Ereignis einer Ansicht, die sich hinter dem unteren Blatt befindet.

Gibt es eine Möglichkeit, dies zu verhindern?

  • Welche Version der Support-Bibliothek verwenden Sie? Haben Sie auf die neueste Version (24.2.1 ab sofort) aktualisiert?

    – ianhanniballake

    27. September 2016 um 22:38 Uhr

  • Ja, ich verwende 24.2.1.

    – Benutzer1865027

    27. September 2016 um 22:54 Uhr

  • Ich habe genau dieselbe Frage gefunden, die hier gestellt wurde stackoverflow.com/questions/37596701/… scheint aber noch keine Antwort zu haben

    – Benutzer1865027

    27. September 2016 um 22:55 Uhr

  • hast du schon antwort gefunden?

    – Andrej Solera

    10. August 2017 um 14:37 Uhr

  • Dies ist immer noch ein Problem mit den neuesten Unterstützungsbibliotheken

    – dazza5000

    22. November 2017 um 16:50 Uhr

Benutzeravatar von lionscribe
Löwenschreiber

Eine einfache Lösung besteht darin, die hinzuzufügen

android:clickable=”true”

Attribut zu dem Layout, das Sie für Ihr unteres Blatt verwenden. Auf diese Weise werden alle Klicks erfasst und nicht durchgelassen. Sie müssen keine festlegen onClick Methode dafür, da Sie sie nicht handhaben müssen.

  • Ich habe versucht, clickable=true auf die übergeordnete Ansicht zu setzen, aber kein Glück 🙁

    – Benutzer1865027

    29. September 2016 um 2:01 Uhr

  • Poste doch bitte das Layout.

    – Löwenschreiber

    29. September 2016 um 2:26 Uhr

  • wenn android:clickable="false" funktioniert nicht, versuchen Sie es setEnable(false) auf den anklickbaren Steuerelementen unter dem Buttonsheet, wenn das unterste Sheet erweitert ist. Verwenden slideOffsetum die Gleitrichtung zu erhalten

    – GGK steht für Ukraine

    14. Januar 2020 um 22:05 Uhr


  • Sie können auch einstellen bottomSheet.setClickable(false);in Ihrem Code

    – GGK steht für Ukraine

    14. Januar 2020 um 22:13 Uhr


  • @NishchayZacariah Wenn eine Ansicht nicht anklickbar ist, ermöglicht es die Berührung, zu der darunter liegenden Ansicht zu wechseln. Beispielsweise können Sie eine imageView in einer Schaltfläche haben, aber da sie nicht anklickbar ist, ermöglicht sie, dass der Klick zu der darunter liegenden Schaltfläche durchgeht.

    – Löwenschreiber

    26. Mai 2021 um 20:52 Uhr

Benutzeravatar von Nisarg Jani
Nisarg Jani

Ich stand vor dem gleichen Problem!

Hinzufügen android:clickable=true zu Ihrem BottomSheet ! Sollte wie unten aussehen!

<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>

1431900cookie-checkWarum kann ich in Android “hinter” dem Bottomsheet klicken?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy