Ich habe 2 Ansichten: Ansicht A und Ansicht B. Ansicht A wird gerendert und verfügt über Aktionen zur Eingabe eines Textwerts. Ich zeige eine Überlagerungsansicht an - B darüber anzeigen. Ich erwarte, dass die Aktionen in View A deaktiviert werden, aber sie können das Eingabefeld in View A nicht und können es trotzdem eingeben. Wie kann ich das deaktivieren?Das Überlagern einer Ansicht deaktiviert keine Aktionen für die zugrunde liegende Ansicht
6
A
Antwort
11
Der Grund dafür ist, dass Ihr Overlay die Berührungsereignisse nicht konsumiert. Wenn eine Ansicht also keine Touch-Ereignisse verbraucht, werden die Ereignisse an die zugrunde liegende Ansicht im Ansichtsmodell übergeben. Die lange Antwort ist also, dass Ihr Overlay anfassbar, fokussierbar und Touch-Listener ist und True zurückgibt. Kurzantwort: Fügen Sie Ihrer Overlay-Ansicht android:clickable="true"
hinzu.