Verbesserungen bei Android 12-Widgets

Mit Android 12 (API-Level 31) wird die vorhandene Widgets API überarbeitet, um die Nutzer- und Entwickler freundlichkeit der Plattform und der Launcher zu verbessern. In diesem Leitfaden erfahren Sie, wie Sie dafür sorgen, dass Ihr Widget mit Android 12 kompatibel ist. Außerdem dient er als Referenz für APIs zum Aktualisieren Ihres vorhandenen Widgets.

Alt-Text

Widget mit Android 12 kompatibel machen

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 Fall wird Ihr Widget unter Umständen nicht richtig angezeigt, wenn eine der folgenden Bedingungen erfüllt ist:

  • Das Widget enthält Inhalte in den Ecken: Dadurch werden möglicherweise einige Inhalte im Eckbereich abgeschnitten.

  • Das Widget verwendet einen Hintergrund, der nicht abgeschnitten werden kann. Dazu gehören transparente Hintergründe, leere Ansichten oder Layouts oder jede andere Art von speziellem Hintergrund, der nicht abgeschnitten werden kann. 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

Wenn Sie alle diese APIs in Aktion sehen möchten, sehen Sie sich unser Beispiel-Widget mit einer Liste an.

Abgerundete Ecken implementieren

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

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

1 Ecke des Widgets.

2 Ecke einer Ansicht im Widget

Weitere Informationen finden Sie unter Abgerundete Ecken implementieren.

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 heller und dunkler Designs. Dies ermöglicht reibungslosere Übergänge und Konsistenz zwischen verschiedenen Widgets.

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

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

Personalisierung von Widgets vereinfachen

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

In Android 12 wurden neue Optionen hinzugefügt, mit denen Sie Nutzern eine bessere Konfiguration ermöglichen können. Weitere Informationen finden Sie unter Nutzern die Konfiguration von Widgets ermöglichen.

Neue zusammengesetzte Schaltflächen hinzufügen

In Android 12 wird die Unterstützung für zustandsorientiertes Verhalten mit den folgenden vorhandenen Komponenten hinzugefügt:

Das Widget ist weiterhin zustandslos. Ihre App muss den Status speichern und sich für Ereignisse zur Statusänderung 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 verfeinerte Größenattribute und flexiblere Layouts nutzen, indem Sie zusätzliche Einschränkungen für die Widget-Größe angeben und responsive und genaue Layouts bereitstellen.

Weitere Informationen finden Sie unter Flexible Widget-Layouts bereitstellen.

Widget-Auswahl für Ihre App verbessern

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

Reibungslosere Übergänge ermöglichen

Ab Android 12 bieten Launcher 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

In Android 12 wird die setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items) hinzugefügt, mit der Ihre App eine Sammlung direkt übergeben kann, wenn eine ListViewaufgefüllt wird. Bisher war es bei der Verwendung einer ListView, es war notwendig, eine RemoteViewsService zu implementieren und zu deklarieren, um RemoteViewsFactory zurückzugeben.

Weitere Informationen finden Sie unter Sammlungen RemoteViewsverwenden.

RemoteViews zur Laufzeit ändern

In Android 12 wurden mehrere RemoteViews-Methoden hinzugefügt, 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 zur Laufzeit ändern RemoteViews.