Wie erstellen Sie ein overlay, das Blöcke-touch-events und UI darunter?
Habe ich eine Schicht von framelayout mit einer semi-durchscheinenden hintergrund, um ein overlay erstellen.
Aber dieses overlay nicht blockieren touch-Ereignisse zur Interaktion mit den Ansichten darunter.
Wie sollte ein overlay erstellen, die blockiert alle touch-events?
- Möglich, Duplikat der so deaktivieren Sie die hinter-Ansicht klicken Sie auf Ereignis Framelayout
InformationsquelleAutor NeoWang | 2015-01-03
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Folgenden code hinzufügen overlay oben auf alles :
Sperrung der touch-Ereignis entweder Sie ändern die Flagge oder der code unten funktioniert:
Für v1, die Sie tun würde, ein import:
Legen Sie dann die onTouchListener:
Wenn overlay nicht touch-events, dann die events übergeben werden, um zugrunde liegende Ansicht, so zu blockieren, touch-events in Aussicht, stellen Sie Ihr overlay Anfassen.
android:clickable="true"
Code unten hat für mich gearbeitet. Ich habe
android:clickable="true"
zu blockieren touch-events zu anderen Ansichten darunter.Dies ist ein Beispiel für eine ProgressBar im inneren der Auflage. Wenn Sie nicht möchten, dass die ProgressBar-Komponente verwenden, können Sie das FrameLayout ohne es.
Verbesserung der Blesson Jose beantworten, müssen Sie legen Sie die
android:focusable="true"
undandroid:clickable="true"
wenn Sie Anzeigen blockieren, die berühren.legen Sie die Taste auf overlay-Ebene.legen Sie dann die Schaltfläche android:background="@null" er-block touch-Ereignis-Ansicht unten dran..hoffe, dass Sie Ihr problem lösen