Ich möchte eine App entwickeln, die Swapps .i ähnlich ist Ich versuche, eine Schaltfläche oben auf jedem Bildschirm anzuzeigen, und das sollte nur bei einer Wischaktion auftreten. Ich habe mit dem folgenden Code versucht
%Vor%Ich versuche, die Schaltfläche anzuzeigen, wenn der Benutzer von links nach rechts wischt, indem er dieses Ereignis erfasst und
ausführt %Vor%und entfernen Sie die Ansicht, wenn der Benutzer von rechts nach links mit
wischt %Vor%Wie erwähnt, konnte ich die Bewegungsereignisse nicht erhalten, es sei denn, ich änderte den Typ als TYPE_SYSTEM_ALERT, aber das friert den gesamten Bildschirm ein und konnte weder zurück noch zu Hause klicken, gibt es einen alternativen Weg dazu.
>Ich habe gerade die untenstehende Modifikation versucht
%Vor%Aber ich konnte nicht auf die darunterliegende Schaltfläche klicken, möglicherweise aufgrund von MATCH_PARTENT, aber wenn ich sie auf wrap_content einstelle, kann ich keine Klickereignisse erhalten.
Um die Ansicht auszublenden, müssen Sie mWindowManager.removeView (mOverlay) aufrufen;
%Vor%Der Blick aus dem Kodex ist immer hektisch und etwas schwierig zu handhaben. Alternativ können Sie die Schaltfläche im Layout hinzufügen und sie entsprechend Ihren Wischen sichtbar und unsichtbar machen.
und benutze den unteren Code, um die Gesten zu erhalten
%Vor%Ihre Herangehensweise an diese Aufgabe ist sehr ungewöhnlich. Das Hinzufügen einer neuen Ansicht würde die Aufgabe gut erledigen.
Fügen Sie diesen Code hinzu:
%Vor%Um die Ansicht auszublenden, können Sie sie einfach aus dem Layout entfernen oder ihre Sichtbarkeit ändern.
Der Ansatz, an dem Sie gearbeitet haben, ist sehr schwierig, und andere hatten Probleme mit Berührungen. Beispiele hierfür sind Android: Multi-Touch und TYPE_SYSTEM_OVERLAY und GestureDetector innerhalb einer TYPE_SYSTEM_OVERLAY . Probieren Sie Diese Google-Suche für mehr.
Verwenden Sie den Fenstertyp TYPE_PHONE
anstelle von TYPE_SYSTEM_OVERLAY
zusammen mit dem Flag FLAG_NOT_FOCUSABLE
.
Tags und Links android background overlay android-gesture