Ich bin kürzlich auf ein ziemlich neues Cordova-Plugin namens cordova-plugin-qrscanner (https://github.com/bitpay/cordova-plugin-qrscanner) gestoßen. Ich habe vorher andere QR-Scanner verwendet, aber diese überlagern einfach eine Art native Kamera-Benutzeroberfläche, bis der QR gescannt wurde und kehren dann zur App zurück.Der beste Weg, ionic2 App vollständig transparent zu machen?
Allerdings ist der Ansatz dieses Plugins ein bisschen anders. Die Kamera wird tatsächlich "hinter" Ihrer App angezeigt und Sie müssen alles transparent machen, um es zu sehen.
Dies ist sehr interessant, weil Sie dann einfach benutzerdefinierte Überlagerungen mit HTML und CSS hinzufügen können. Ich bin mir jedoch nicht ganz sicher, was hier am besten ist.
Nach dem Hinzufügen des Plugins und einfach QRScanner.scan(displayContents);
aufrufen, können Sie nichts sehen, aber der Scanner läuft bereits im Hintergrund. Ich habe dann rekursiv alle Stile (siehe simplest way to remove all the styles in a page) aus der App entfernt und die Hintergrundfarbe auf transparent gesetzt, um zu sehen, ob sie funktioniert hat. Es tat, aber ich konnte offensichtlich den Text sehen, der vorher angezeigt wurde.
Ich denke, ich könnte eine neue Seite mit meinem Overlay erstellen und schieben, die Hintergrundfarbe auf transparent setzen und dann zurück navigieren, sobald der Code gescannt wurde. Aber das fühlt sich wirklich hacky an.
Hat jemand eine bessere Lösung dafür?
Gibt es zum Beispiel eine Möglichkeit, den gesamten sichtbaren Teil der App mit der Überlagerung zu "vertauschen" und den Zustand wiederherzustellen, nachdem der Code gescannt wurde?
Danke für Ihre Hilfe.
EDIT:
Es ist nicht das gleiche Plugin, aber dieser Artikel ist auf meine Frage relevant.
http://www.joshmorony.com/ionic-go-create-a-pokemon-go-style-interface-in-ionic-2/
arbeitet die CSS-Stile anwenden, aber auch hier ist der Rest der App dann nicht verwendbar.
Wie wissen Sie, dass das Plugin funktioniert? Da Sie nichts sehen, funktioniert das Plugin möglicherweise nicht. – vrijdenker
Wie ich schon sagte, wenn ich alle Elemente rekursiv transparent mache, funktioniert es. Aber das kann natürlich nicht die Lösung sein, weil die anderen Teile der App dann unbrauchbar sind. –