Google hat eine API hinzugefügt, die es Drittanbieter-Launchern wie Nova Launcher ermöglicht, flüssigere Übergangsanimationen anzuzeigen. Derzeit gibt es nur noch Pixel-Telefone.
In der Vergangenheit boten Launcher-Apps von Drittanbietern oft ein besseres Erlebnis als der Standard-Launcher, der auf den meisten Android-Telefonen zu finden ist. Mit der Überarbeitung des aktuellen App-Bildschirms und der Einführung von Gesten in Android 9 Pie Trägerraketen von Drittanbietern wurden benachteiligt, da diese neuen Erfahrungen in den Bestand integriert wurden Launcher-App. Im Laufe der Zeit hat Google versucht, die Benutzerfreundlichkeit des Drittanbieter-Launchers bei der Verwendung von Gesten zu verbessern, und dies ist ihnen in letzter Zeit tatsächlich gelungen.
Wenn Sie in den letzten Monaten eine aktuelle Betaversion von Nova Launcher auf einem Google Pixel-Telefon verwendet haben, sind Ihnen möglicherweise die flüssigen Animationen bei der Gestennavigation aufgefallen. Leider werden Sie diese Animationen zumindest im Moment nicht sehen, wenn Sie Nova Launcher auf einem anderen Gerät verwenden. Um zu verstehen, warum, müssen wir zunächst kurz erklären, was Drittanbieter-Launcher wie Nova Launcher von Standard-Launchern wie Googles Pixel Launcher unterscheidet.
Google führte erstmals die Gestennavigation ein in Android 9 Pie. Damit sich Gesten so flüssig wie möglich anfühlen, musste Google dafür sorgen, dass App-Übergänge nahtlos aussehen. Sie wollten den Benutzern auch den Zugriff auf ihre gesamte App-Liste über den Bildschirm „Letzte Apps“ ermöglichen. Um beides zu erreichen, hat Google beschlossen, den Code, der den Bildschirm der letzten Apps verwaltet, von Android zu verschieben SystemUI zu Launcher3, der Open-Source-Launcher-App von Android, von der die meisten OEM-Launcher abgeleitet sind. Und so kam es dass der Schneller Schritt Die Komponente wurde geboren, und aufgrund ihrer privilegierten Natur erlaubt Android nur die Festlegung der vorinstallierten Launcher-App als Anbieter der aktuellen Apps. Das kann sein mit Root-Zugriff überschrieben wenn der Launcher eines Drittanbieters dies unterstützt, bedeutet dies für die meisten Benutzer jedoch, dass eine Launcher-App eines Drittanbieters immer auf den Standard-Launcher angewiesen ist, um Gesten und den Bildschirm der zuletzt verwendeten Apps zu verarbeiten. Das Ergebnis kann, wie die meisten von Ihnen wahrscheinlich schon erlebt haben, etwas holprig sein, mit Übergängen, die nicht flüssig und nahtlos wirken. Es sei denn, Sie verwenden ein Google Pixel-Telefon.
Auf den meisten Google Pixel-Telefonen gibt es eine API, die Drittanbieter-Launcher nutzen können, um den Übergang von einer App zurück zum Startbildschirm viel nativer aussehen zu lassen. Einige Launcher-Apps von Drittanbietern mögen Niagara-Trägerrakete und der oben erwähnte Nova Launcher nutzen diese API, obwohl letzterer sie nur in seine API einbezieht In der Entwicklung befindliche v7-Builds. Wenn diese API verwendet wird, erhält die Launcher-App eines Drittanbieters eine Absicht und einen Rückruf von QuickStep, wann immer der Benutzer eine Wischgeste ausführt, um nach Hause zu gehen. Der Drittanbieter-Launcher kann dann dem Gestensystem Hinweise geben, wie das Fenster beim Minimieren auf ein App-Symbol animiert werden soll.
Hier ist ein Beispiel dafür, wie dies im Niagara Launcher aussieht, mit freundlicher Genehmigung des Entwicklers des Launchers 8bitpit:
Und hier ist ein Vergleich, der zeigt, wie die Animation auf einem aussieht ASUS ROG Phone 5 Und Google Pixel 4, beide mit Nova Launcher v7.0.25 (die neueste Beta-Version zum Zeitpunkt der Veröffentlichung) und Android 11:
\r\n https://www.youtube.com/watch? v=equ-8yDw_Do\r\n
Jetzt fragen Sie sich vielleicht: Ist diese API exklusiv für Google Pixel-Telefone? Die Antwort ist nein, das ist es nicht. Die API ist Teil von Launcher3/QuickStep und finden Sie im AOSP, was bedeutet, dass es für jede OEM-Launcher-App offen ist. Während die API wurde an Launcher3 übergeben Intern am 21. Juli 2020 scheint es so zu sein in den AOSP-Masterzweig integriert mit der Veröffentlichung von Android R QPR1 im Dezember.
Kevin Barry, der Entwickler von Nova Launcher und einer der ersten, der diese API entdeckte, sagte uns, dass er einen Teil davon vermutet Der Grund, warum OEMs diese API nicht in ihren Forks von Launcher3 verwenden, ist, dass sie mit der Veröffentlichung von Android 11 etwas spät kam Zyklus. Es erfordert einiges an Aufwand, große AOSP-Änderungen zusammenzuführen, und das Android R QPR1-Update enthielt definitiv viele davon. In den vergangenen Jahren haben wir diese Code-Drops als „Wartungsversion“ bezeichnet, aber Google führt diese nach dem Widerstand von OEMs (so habe ich zumindest gehört) nicht mehr wirklich durch. Aus diesem Grund nennt LineageOS, das beliebte benutzerdefinierte Android-ROM, seine neueste Version „LineageOS 18.1„ statt „LineageOS 18“, um anzuzeigen, dass das ROM auf der neuesten Android 11-Codebasis und nicht auf der ersten Android 11-Version basiert.
Es ist auch erwähnenswert, dass diese API nach dem nur auf Google Pixel-Telefonen zugänglich ist Pixel-Feature-Drop im Dezember, was mit der öffentlichen Veröffentlichung von Android R QPR1 zusammenfällt. Und obwohl das Pixel 2 es bekommt letztes Update im Dezember, enthielt dieses Update nicht die Android R QPR1-Codebasis, weshalb Pixel 2-Besitzer, die Nova Launcher v7 ausführen, nicht das gleiche Erlebnis haben wie andere Pixel. (Besitzer eines Pixel 2 können eine neuere Version des Pixel Launcher herunterladen, die über die API eines neueren Pixel-Geräts verfügt, aber Benutzerberichte deuten darauf hin Die Animation ist immer noch fehlerhaft, auch wenn sie ab und zu funktioniert. Zur Erinnerung: Pixel Launcher basiert wie die meisten Standard-Launcher auf Launcher3, enthält aber auch einige Pixel-exklusive Funktionen.)
Was ist also nötig, damit diese API auch anderen Android-Geräten hinzugefügt werden kann? Darauf gibt es leider keine einfache Antwort, da wir nicht genau wissen, wie jeder OEM seine Launcher-App entwickelt. Angesichts des Wie Google kontrolliert die Gestennavigation im Vollbildmodus strengWir vermuten, dass die meisten OEMs den Code im Zusammenhang mit Gesten und/oder QuickStep nicht stark ändern. Es sei denn, ein OEM unternimmt alle Anstrengungen, um das Commit rückgängig zu machen, den Code zu beschädigen oder die Aktualisierung zu verweigern Launcher3, dann sollten wir sehen, dass diese API zu OEM-Launchern hinzugefügt wird, wenn sie auf dem neu basieren bevorstehende Android 12 freigeben. Tatsächlich teilte uns ein OEM, mit dem wir gesprochen haben, ASUS, mit, dass sie planen, diese API in ihr Android 12-Update aufzunehmen. Wir wissen nicht, ob Google diese Änderung den OEMs mitgeteilt hat, hoffen aber, dass mehr OEMs diese Änderung zur Kenntnis nehmen und beschließen, die API in ihre Forks von Launcher3 zu integrieren, um die Erfahrung bei der Nutzung von Drittanbietern zu verbessern Trägerraketen.
Damit ist die Arbeit jedoch noch nicht beendet. Auch nach der Einbindung dieser API muss noch mehr Arbeit geleistet werden, um eine Parität zwischen Drittanbieter-Launchern und OEM-Launchern zu erreichen. Beispielsweise flackern einige OEM-Geräte, wenn der Benutzer auf den Bildschirm tippt, bevor eine Animation auf dem Startbildschirm angezeigt wird. Manchmal erscheint die System-Launcher-App anstelle der ausgewählten Drittanbieter-Launcher-App (das ist mir schon ein paar Mal passiert). Eine verbesserte Übergangsanimation ist nett, aber niemand möchte sich mit Fehlern in der Launcher-App oder dem Bildschirm der aktuellen Apps herumschlagen, daher muss der Gestencode noch etwas bereinigt und/oder standardisiert werden.
Vielen Dank an Kevin Barry und Peter Huber für ihre Unterstützung bei diesem Artikel!