Verbesserungen bei Android 12-Widgets

Android 12 (API-Level 31) überarbeitet die vorhandene Widgets API, um die Plattform und Launcher für Nutzer und Entwickler zu verbessern. In dieser Anleitung erfährst du, wie du dafür sorgst, dass dein Widget mit Android 12 kompatibel ist, sowie als Referenz für APIs zum Aktualisieren vorhandener Widgets.

Alt-Text

Prüfen, ob das Widget mit Android 12 kompatibel ist

Widgets in Android 12 haben abgerundete Ecken. Wenn ein App-Widget auf einem Gerät mit Android 12 oder höher verwendet wird, erkennt der Launcher automatisch den Hintergrund des Widgets und schneidet es zu, sodass es abgerundete Ecken hat.

In diesem Szenario wird Ihr Widget möglicherweise unter einer der folgenden Bedingungen nicht korrekt angezeigt:

  • Das Widget enthält in den Ecken Inhalte: Dies kann dazu führen, dass einige Inhalte im Eckbereich abgeschnitten werden.

  • Das Widget verwendet einen Hintergrund, der nicht zugeschnitten werden kann. Dazu gehören ein transparenter Hintergrund, leere Ansichten oder Layouts sowie sonstige spezielle Hintergründe, die nicht zugeschnitten werden können. Das System kann den zu verwendenden Hintergrund möglicherweise nicht korrekt identifizieren.

Wenn Ihr Widget von dieser Änderung betroffen ist, empfehlen wir, es mit abgerundeten Ecken zu aktualisieren (wie im folgenden Abschnitt beschrieben), damit es richtig angezeigt wird.

Beispiel verwenden

Wenn Sie alle APIs in Aktion sehen möchten, können Sie sich unser Beispiellisten-Widget ansehen.

Abgerundete Ecken verwenden

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.

Wetter-Widget für Tokio
Abbildung 1 : Abgerundete Ecken eines Widgets und eine Ansicht im Widget

1 Ecke des Widgets.

2 Ecke einer Ansicht innerhalb des Widgets.

Weitere Informationen finden Sie unter Abgerundete Ecken verwenden.

Gerätedesign hinzufügen

Ab Android 12 kann ein Widget die Farben des Gerätedesigns 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.

Weitere Informationen

Widget im hellen Modus-Design
Abbildung 2: Widget im hellen Design
Widgets im dunklen Modus-Design
Abbildung 3: Widget im dunklen Design

Widgets einfacher personalisieren

Wenn Sie eine Konfigurationsaktivität mit dem Attribut configure von appwidget-provider angeben, startet der Host des App-Widgets diese Aktivität, sobald ein Nutzer das Widget seinem Startbildschirm hinzugefügt hat.

Android 12 bietet neue Optionen, mit denen sich die Konfiguration für die Nutzer optimieren lässt. Weitere Informationen finden Sie unter Nutzern erlauben, Widgets zu konfigurieren.

Neue zusammengesetzte Schaltflächen hinzufügen

In Android 12 wird mithilfe der folgenden vorhandenen Komponenten eine neue Unterstützung für zustandsorientiertes Verhalten hinzugefügt:

Das Widget ist immer noch zustandslos. Ihre App muss den Status speichern und sich für Statusänderungsereignisse registrieren.

Abbildung 4: Beispiel-Widget mit Kästchen

Weitere Informationen finden Sie unter Unterstützung für zustandsorientiertes Verhalten.

Verbesserte APIs für Widget-Größen und -Layouts verwenden

Ab Android 12 kannst du verfeinerte Größenattribute und flexiblere Layouts nutzen. Dazu kannst du zusätzliche Widget-Größenbeschränkungen festlegen und responsive Layouts sowie genaue Layouts angeben.

Weitere Informationen finden Sie unter Flexible Widget-Layouts bereitstellen.

Widget-Auswahl in Ihrer 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 Skalierbare Widget-Vorschauen zur Widget-Auswahl hinzufügen und Beschreibung für das Widget hinzufügen.

Reibungslose Übergänge ermöglichen

Ab Android 12 sorgen Launcher für einen reibungslosen Übergang, wenn ein Nutzer deine App über ein Widget startet. Weitere Informationen findest du unter Reibungslose Übergänge ermöglichen.

Vereinfachte RemoteViews-Sammlungen verwenden

Unter 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 war es bei Verwendung eines ListView erforderlich, einen RemoteViewsService zu implementieren und zu deklarieren, um RemoteViewsFactory zurückzugeben.

Weitere Informationen finden Sie unter RemoteViews-Sammlungen verwenden.

Laufzeitänderung von RemoteViews verwenden

Unter Android 12 werden mehrere RemoteViews-Methoden hinzugefügt, mit denen die Laufzeit von RemoteViews-Attributen geändert werden kann. Eine vollständige Liste der hinzugefügten Methoden finden Sie in der API-Referenz RemoteViews.

Weitere Informationen finden Sie unter Laufzeitänderung von RemoteViews verwenden.