Verbesserungen bei Android 12-Widgets

Unter Android 12 (API-Level 31) wird die vorhandene Widgets API überarbeitet, um die Nutzer- und Entwicklerumgebung auf der Plattform und in Launchern zu verbessern. In diesem Leitfaden erfahren Sie, wie Sie dafür sorgen, dass Ihr Widget mit Android 12 kompatibel ist. Außerdem finden Sie hier eine Referenz für APIs zum Aktualisieren Ihres vorhandenen Widgets.

Alt-Text

Prüfen, ob Ihr 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 ihn so zu, dass er abgerundete Ecken hat.

In diesem Szenario wird Ihr Widget möglicherweise in keinem der folgenden Fälle richtig angezeigt:

  • Das Widget enthält Inhalte in den Ecken: Dadurch wird der Inhalt im Eckenbereich möglicherweise abgeschnitten.

  • Das Widget verwendet einen Hintergrund, der nicht zugeschnitten werden kann. Dazu gehören transparente Hintergründe, leere Ansichten oder Layouts oder andere Arten von speziellen Hintergründen, die nicht zugeschnitten werden können. Das System kann den zu verwendenden Hintergrund möglicherweise nicht richtig 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

Alle diese APIs in Aktion sehen Sie in unserem Beispiellisten-Widget.

Abgerundete Ecken implementieren

In Android 12 wurden die Systemparameter system_app_widget_background_radius und system_app_widget_inner_radius eingeführt, mit denen Sie die Radien der abgerundeten Ecken Ihres Widgets festlegen können.

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

1 Ecke des Widgets.

2 Ecke einer Ansicht im Widget.

Weitere Informationen finden Sie unter Abgerundete Ecken implementieren.

Gerätethemen hinzufügen

Ab Android 12 können die Farben des Gerätedesigns für Schaltflächen, Hintergründe und andere Komponenten in einem Widget verwendet werden, einschließlich hellem und dunklem Design. So sind flüssigere Übergänge und Konsistenz zwischen verschiedenen Widgets möglich.

Weitere Informationen finden Sie unter Gerätethemen hinzufügen.

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

Einfachere Personalisierung von Widgets

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 Sie die Konfiguration für Nutzer verbessern können. Weitere Informationen finden Sie unter Nutzern erlauben, Widgets zu konfigurieren.

Neue zusammengesetzte Schaltflächen hinzufügen

Android 12 bietet eine neue Unterstützung für zustandsbezogenes Verhalten mit den folgenden vorhandenen Komponenten:

Das Widget ist weiterhin 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 zustandsabhängiges Verhalten.

Verbesserte APIs für Widgetgrößen und ‑layouts verwenden

Ab Android 12 können Sie detailliertere Größenattribute und flexiblere Layouts nutzen, indem Sie zusätzliche Einschränkungen für die Größe von Widgets festlegen und responsive und exakte Layouts bereitstellen.

Weitere Informationen finden Sie unter Flexible Widget-Layouts bereitstellen.

Widgetauswahl in Ihrer App verbessern

Mit Android 12 können Sie die Widgetauswahl für Ihre App verbessern, indem Sie dynamische Widgetvorschauen und Widgetbeschreibungen hinzufügen. Weitere Informationen finden Sie unter Der Auswahl für Widgets skalierbare Widget-Vorschauen hinzufügen und Eine Beschreibung für Ihr Widget hinzufügen.

Bessere Übergänge

Ab Android 12 sorgen Launcher für einen reibungsloseren Übergang, wenn ein Nutzer Ihre App über ein Widget startet. Weitere Informationen finden Sie unter Reibungslosere Übergänge ermöglichen.

Vereinfachte RemoteViews-Sammlungen verwenden

Mit Android 12 wird die Methode setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items) hinzugefügt. Damit kann Ihre App eine Sammlung direkt übergeben, wenn eine ListView ausgefüllt wird. Bisher musste bei der Verwendung einer ListView eine RemoteViewsService implementiert und deklariert werden, um RemoteViewsFactory zurückzugeben.

Weitere Informationen finden Sie unter RemoteViews-Sammlungen verwenden.

Laufzeitänderung von RemoteViews verwenden

Android 12 bietet mehrere RemoteViews-Methoden, mit denen RemoteViews-Attribute zur Laufzeit geändert werden können. 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.