Unter Android 12 (API-Level 31) wird die vorhandene Widgets API überarbeitet, um die Nutzer- und Entwicklererfahrung auf der Plattform und in Launchern zu verbessern. In diesem Leitfaden erfährst du, wie du die Kompatibilität deines Widgets mit Android 12 prüfst. Außerdem findest du hier eine Referenz für APIs zum Aktualisieren vorhandener Widgets.
Prüfen, ob das Widget mit Android 12 kompatibel ist
In Android 12 haben Widgets abgerundete Ecken. Wenn ein App-Widget auf einem Gerät mit Android 12 oder höher verwendet wird, erkennt der Launcher den Hintergrund des Widgets automatisch und schneidet ihn so ab, dass er abgerundete Ecken hat.
In diesem Szenario wird dein Widget unter Umständen unter den folgenden Bedingungen nicht korrekt angezeigt:
Das Widget enthält Inhalte in den Ecken: Dadurch wird der Inhalt im Eckenbereich möglicherweise abgeschnitten.
Der Hintergrund des Widgets kann nicht zugeschnitten werden. Dazu gehören ein transparenter Hintergrund, leere Ansichten oder Layouts oder andere Arten von speziellen Hintergründen, die nicht leicht zugeschnitten werden können. Das System kann den zu verwendenden Hintergrund möglicherweise nicht korrekt identifizieren.
Wenn Ihr Widget von dieser Änderung betroffen ist, sollten Sie es mit abgerundeten Ecken aktualisieren (wie im folgenden Abschnitt beschrieben), damit es korrekt angezeigt wird.
Beispiel verwenden
Sehen Sie sich unser Beispiellisten-Widget an, um alle diese APIs in Aktion zu sehen.
Abgerundete Ecken implementieren
In Android 12 werden die Systemparameter system_app_widget_background_radius
und system_app_widget_inner_radius
eingeführt, um die Radien der abgerundeten Ecken deines Widgets festzulegen.
1 Ecke des Widgets.
2 Ecke einer Ansicht im Widget.
Weitere Informationen finden Sie unter Abgerundete Ecken implementieren.
Gerätemotivation hinzufügen
Ab Android 12 kann ein Widget die Gerätedesignfarben für Schaltflächen, Hintergründe und andere Komponenten verwenden, einschließlich des hellen und dunklen Designs. Dies ermöglicht reibungslosere Übergänge und Konsistenz über verschiedene Widgets hinweg.
Widgets leichter personalisieren
Wenn Sie eine Konfigurationsaktivität mit dem Attribut configure
von appwidget-provider
angeben, startet der App-Widget-Host diese Aktivität, sobald ein Nutzer das Widget zu seinem Startbildschirm hinzugefügt hat.
Android 12 bietet neue Optionen, mit denen du den Nutzern eine bessere Konfiguration bieten kannst. Weitere Informationen finden Sie unter Nutzern erlauben, Widgets zu konfigurieren.
Neue zusammengesetzte Schaltflächen hinzufügen
Android 12 bietet mithilfe der folgenden vorhandenen Komponenten eine neue Unterstützung für zustandsorientiertes Verhalten:
Das Widget ist immer noch zustandslos. Deine App muss den Status speichern und für Statusänderungsereignisse registrieren.
Weitere Informationen finden Sie unter Unterstützung für zustandsorientiertes Verhalten.
Verbesserte APIs für Widget-Größen und -Layouts verwenden
Ab Android 12 können Sie die Vorteile von optimierten Größenattributen und flexibleren Layouts nutzen, indem Sie zusätzliche Größenbeschränkungen für Widgets angeben sowie responsive Layouts und exakte Layouts bereitstellen.
Weitere Informationen finden Sie unter Flexible Widget-Layouts bereitstellen.
Die Widget-Auswahl deiner App verbessern
Mit Android 12 kannst du die Widget-Auswahl für deine App verbessern, indem du dynamische Widget-Vorschauen und Widget-Beschreibungen hinzufügst. Weitere Informationen finden Sie unter Der Widgetauswahl skalierbare Widget-Vorschauen hinzufügen und Beschreibung des Widgets hinzufügen.
Reibungslosere Übergänge ermöglichen
Ab Android 12 ermöglichen Launcher einen reibungsloseren Übergang, wenn ein Nutzer deine App über ein Widget startet. Weitere Informationen finden Sie unter Reibungslosere Übergänge ermöglichen.
Vereinfachte RemoteViews
-Sammlungen verwenden
In Android 12 wird die Methode setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items)
hinzugefügt, mit der deine App eine Sammlung direkt übergeben kann, wenn ein ListView
ausgefüllt wird. Bisher musste bei Verwendung eines ListView
ein RemoteViewsService
implementiert und deklariert werden, um RemoteViewsFactory
zurückzugeben.
Weitere Informationen finden Sie unter RemoteViews
-Sammlungen verwenden.
Laufzeitänderung von RemoteViews
verwenden
Android 12 fügt mehrere RemoteViews
-Methoden hinzu, die eine Laufzeitänderung von RemoteViews
-Attributen ermöglichen. Eine vollständige Liste der hinzugefügten Methoden finden Sie in der RemoteViews
API-Referenz.
Weitere Informationen finden Sie unter Laufzeitänderung von RemoteViews
verwenden.