In Android 12 (API-Level 31) wurde die vorhandene Widgets API überarbeitet, um die Nutzer- und Entwicklerfreundlichkeit 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 finden Sie hier eine Referenz für APIs zum Aktualisieren Ihres vorhandenen Widgets.
Widget muss mit Android 12 kompatibel sein
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 unter einer der folgenden Bedingungen nicht richtig angezeigt:
Das Widget enthält Inhalte in den Ecken: Dadurch werden möglicherweise einige Inhalte in den Ecken abgeschnitten.
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. 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.
Sample verwenden
Wenn Sie sehen möchten, wie diese APIs in der Praxis funktionieren, sehen Sie sich unser Beispiel-Listen-Widget 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.

1 Ecke des Widgets.
2 Ecke einer Ansicht im Widget.
Weitere Informationen finden Sie unter Abgerundete Ecken implementieren.
Gerätetheming 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. So werden Übergänge flüssiger und die Darstellung in verschiedenen Widgets ist einheitlicher.
Weitere Informationen finden Sie unter Gerätedesign hinzufügen.


Widgets einfacher personalisieren
Wenn Sie eine Konfigurationsaktivität mit dem Attribut configure
von appwidget-provider
angeben, startet der App-Widget-Host diese Aktivität sofort, nachdem ein Nutzer das Widget auf seinem Startbildschirm hinzugefügt hat.
Mit Android 12 werden neue Optionen eingeführt, mit denen Sie Nutzern eine bessere Konfiguration ermöglichen können. Weitere Informationen finden Sie unter Nutzern erlauben, Widgets zu konfigurieren.
Neue zusammengesetzte Schaltflächen hinzufügen
In Android 12 wird das zustandsbezogene Verhalten durch die folgenden vorhandenen Komponenten unterstützt:
Das Widget ist weiterhin zustandslos. Ihre App muss den Status speichern und sich für Statusänderungsereignisse registrieren.

Weitere Informationen finden Sie unter Unterstützung für zustandsbehaftetes Verhalten.
Verbesserte APIs für Widget-Größen und ‑Layouts verwenden
Ab Android 12 können Sie durch Angabe zusätzlicher Einschränkungen für die Widget-Größe sowie durch Bereitstellung responsiver und exakter Layouts von präziseren Größenattributen und flexibleren Layouts profitieren.
Weitere Informationen finden Sie unter Flexible Widget-Layouts bereitstellen.
Widget-Auswahl in Ihrer App verbessern
Mit Android 12 können Sie die Widget-Auswahl für Ihre App verbessern, indem Sie dynamische Widget-Vorschaubilder und Widget-Beschreibungen hinzufügen. Weitere Informationen finden Sie unter Skalierbare Widget-Vorschauen zur Widget-Auswahl hinzufügen und Beschreibung für Ihr Widget hinzufügen.
Weichere Übergänge aktivieren
Ab Android 12 bieten Launcher einen reibungsloseren Übergang, wenn ein Nutzer Ihre App über ein Widget startet. Weitere Informationen finden Sie unter Weichere Übergänge aktivieren.
Vereinfachte RemoteViews
-Sammlungen verwenden
In Android 12 wird die Methode setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items)
eingeführt, mit der Ihre App eine Sammlung direkt übergeben kann, wenn ein ListView
aufgefüllt wird. Bisher war es bei Verwendung eines ListView
erforderlich, ein RemoteViewsService
zu implementieren und zu deklarieren, um RemoteViewsFactory
zurückzugeben.
Weitere Informationen finden Sie unter RemoteViews
-Sammlungen verwenden.
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 Laufzeitänderung von RemoteViews
verwenden.