Verbesserungen bei Android 12-Widgets

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.

Alt-Text

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.

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

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.

Weitere Informationen

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

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.

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 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 angeben.

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.