Verbesserungen bei Android 12-Widgets

Mit Android 12 (API-Level 31) wird die bestehende Widgets API überarbeitet, um die Nutzer- und Entwicklererfahrung auf der Plattform und in Launchern zu verbessern. In diesem Leitfaden erfährst du, wie du dein Widget mit Android 12 kompatibel machst. Außerdem findest du hier eine Referenz für APIs, mit denen du dein vorhandenes Widget aktualisieren kannst.

Alt-Text

Kompatibilität des Widgets mit Android 12 sicherstellen

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 das Widget unter den folgenden Bedingungen möglicherweise nicht richtig angezeigt:

  • Das Widget enthält Inhalte in den Ecken: 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 transparente Hintergründe, leere Ansichten oder Layouts oder andere spezielle Hintergründe, die nicht zugeschnitten werden können. Das System kann den zu verwendenden Hintergrund möglicherweise nicht richtig identifizieren.

Wenn dein 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

In unserem Beispiel-Listen-Widget können Sie sich alle diese APIs in Aktion ansehen.

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 des Widgets festgelegt werden.

Wetter-Widget für Tokio
Abbildung 1: Abgerundete Ecken bei 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ätedesigns hinzufügen

Ab Android 12 kann ein Widget die Designfarben des Geräts für Schaltflächen, Hintergründe und andere Komponenten verwenden, einschließlich heller und dunkler Designs. Das ermöglicht flüssigere Übergänge und ein einheitliches Design für verschiedene Widgets.

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

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

Widgets einfacher personalisieren

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

Android 12 bietet neue Optionen, mit denen du die Konfiguration für Nutzer verbessern kannst. Weitere Informationen finden Sie unter Nutzern die Konfiguration von Widgets ermöglichen.

Neue zusammengesetzte Schaltflächen hinzufügen

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

Das Widget ist weiterhin 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 können Sie genauere Größenattribute und flexiblere Layouts nutzen, indem Sie zusätzliche Einschränkungen für die Widget-Größe angeben und responsive und exakte Layouts bereitstellen.

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 Widget hinzufügen.

Flüssigere Übergänge ermöglichen

Ab Android 12 bieten Launcher einen flüssigeren Übergang, wenn ein Nutzer deine App über ein Widget startet. Weitere Informationen finden Sie unter Flüssigere Übergänge aktivieren.

Vereinfachte RemoteViews-Sammlungen verwenden

In Android 12 wird die Methode setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items) hinzugefügt, mit der Ihre App beim Auffüllen eines ListView eine Sammlung direkt weitergeben kann. 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

In Android 12 werden 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 Laufzeitänderung von RemoteViews verwenden.