Hinweis: Auf dieser Seite wird ein Schritt zur manuellen Verwaltung der Zifferblattkonfiguration veranschaulicht. Wenn Sie Ihr Zifferblatt stattdessen mit einem WYSIWYG-Tool (What You See Is What You Get, „Was Sie sehen, ist das, was Sie bekommen“) entwerfen möchten, lesen Sie zuerst die Anleitungen für Watch Face Studio.
Dieser Leitfaden enthält Schritte zu den Tools, die Sie zum Konfigurieren eines Zifferblatts mit dem Watch Face-Format benötigen, einige Vorschläge zur Projektstruktur und eine detaillierte Anleitung zum Anwenden der Tools zum Erstellen dieser Struktur.
Voraussetzungen
Führen Sie die folgenden Schritte aus, um Ihre Entwicklungsumgebung für die Verwendung des Zifferblattformats vorzubereiten:
Installieren Sie das SDK für Android 14 (API-Level 34) oder höher. Wenn Ihr Zifferblatt keine für Version 2 spezifischen Funktionen oder Verhaltensweisen verwendet, können Sie stattdessen das SDK für Android 13 (API-Level 33) installieren.
Das SDK enthält auch andere erforderliche Tools, darunter
aapt2
undandroid.jar
.Alternativ können Sie Android Studio installieren, das diese Tools ebenfalls bietet.
Projektstruktur
Wenn Sie ein benutzerdefiniertes Zifferblatt erstellen, das das Watch Face-Format verwendet, muss das Android App Bundle, das die Datei des benutzerdefinierten Zifferblatts enthält, vollständig vom Android App Bundle getrennt sein, das die Logik Ihrer Wear OS-App enthält. Einige App-Shops, einschließlich Google Play, verhindern, dass Sie ein Android App-Bundle hochladen, das sowohl Wear OS-Logik als auch ein benutzerdefiniertes Zifferblatt enthält.
Set mit Zifferblättern erstellen
Führen Sie die Schritte in den folgenden Abschnitten aus, um ein Android-App-Bundle mit einer Zifferblattdatei zu erstellen.
Verwendung des Watch Face-Formats angeben
Fügen Sie der Manifestdatei (AndroidManifest.xml
) Ihrer neuen App ein Anwendungsattribut hinzu, das die Verwendung des Watch Face-Formats angibt. Sofern Sie den Zugriff auf Ihr Zifferblatt nicht auf Geräte mit Wear OS 5 oder höher beschränken möchten, erstellen Sie zwei verschiedene Zifferblatt-APKs, eine für Version 2 und eine für Version 1. Weitere Informationen zum Konfigurieren von Versionen Ihrer App
<manifest ...>
<!--
Use SDK version 34 for version 2 of WFF, and SDK version 33 for version
1 of WFF
-->
<uses-sdk
android:minSdkVersion="34"
android:targetSdkVersion="34" />
<!--
WFF is a resource-only format, so the hasCode attribute should be set to
false to reflect this.
-->
<application
android:label="@string/watch_face_name"
android:hasCode="false"
...>
<meta-data android:name="com.google.android.wearable.standalone"
android:value="true" />
<property
android:name="com.google.wear.watchface.format.version"
android:value="2" />
</application>
</manifest>
Metadaten für Zifferblätter angeben
Erstellen Sie im Ressourcenverzeichnis res/xml
Ihrer App eine neue Datei mit dem Namen watch_face_info.xml
. Hier definieren Sie die Metadaten Ihres Zifferblatts:
<?xml version="1.0" encoding="utf-8"?>
<WatchFaceInfo>
<Preview value="@drawable/watch_face_preview" />
<Category value="CATEGORY_EMPTY" />
<AvailableInRetail value="true" />
<MultipleInstancesAllowed value="true" />
<Editable value="true" />
</WatchFaceInfo>
Die Felder in dieser Datei stehen für die folgenden Details:
Preview
- Verweist auf das drawable, das ein Vorschaubild des Zifferblatts enthält.
Category
Definiert die Kategorie des Zifferblatts. Muss ein String oder ein Verweis auf einen String sein, z. B.
@string/ref_name
. Jeder Gerätehersteller kann seine eigenen Zifferblattkategorien definieren.Standardwert:
empty_category_meta
. Das Zifferblatt wird dann zusammen mit anderen Zifferblättern der Kategorie „Leere Kategorie“ unten in der Auswahl angezeigt.AvailableInRetail
Gibt an, ob das Zifferblatt im Demomodus für den Einzelhandel des Geräts verfügbar ist. Muss ein boolescher Wert oder ein Verweis auf einen booleschen Wert wie
@bool/watch_face_available_in_retail
sein.Standardwert:
false
MultipleInstancesAllowed
Ob das Zifferblatt mehrere Favoriten haben kann. Muss ein boolescher Wert oder ein Verweis auf einen booleschen Wert wie
@bool/watch_face_multiple_instances_allowed
sein.Standardwert:
false
Editable
Ob das Zifferblatt bearbeitbar ist, d. h., ob es eine Einstellung oder mindestens eine nicht feste Zusatzfunktion hat. So können Sie die Schaltfläche Bearbeiten für das Zifferblatt in der Favoritenliste ein- oder ausblenden.
Standardwert: false
Name des Zifferblatts angeben
Legen Sie in der Manifestdatei (AndroidManifest.xml
) Ihrer App das Attribut android:label
auf den Namen Ihres Zifferblatts fest:
<application android:label="@string/watch_face_name" >
Details zum Zifferblatt angeben
Die Struktur eines einfachen WFF-Zifferblattdokuments sieht so aus:
<WatchFace width="450" height="450">
<Scene>
<!-- Content to be rendered -->
</Scene>
</WatchFace>
Erstellen Sie diese XML-Datei als res/raw/watchface.xml
, wenn Sie ein einzelnes Zifferblatt erstellen. Wenn Sie verschiedene Bildschirmformen und ‑größen unterstützen möchten, deklarieren Sie die Unterstützung mehrerer Formen und Größen.
Das Stammelement ist immer WatchFace
. height
und width
definieren den Umfang des Koordinatenraums für die Verwendung auf Ihrem Zifferblatt. Das Zifferblatt wird auf das Gerät skaliert, auf dem es verwendet wird. height
und width
stehen nicht für tatsächliche Pixel.
Im Watch Face-Format werden verschiedene Details Ihres Zifferblatts organisiert:
- Metadaten wie Uhrzeit und Schrittzahl, die im Vorschaubild des Zifferblatts angezeigt werden.
- Nutzerkonfigurationen, z. B. verschiedene Farbschemata für das Zifferblatt, vom Nutzer umschaltbare Elemente und eine Auswahl aus mehreren Elementen. In der Version 2 des Zifferblattformats werden Varianten eingeführt, die in einer Nutzerkonfiguration angezeigt werden können. Für jede Variante wird eine vordefinierte Nutzerkonfiguration angegeben, in der der Typ und der Stil der Elemente festgelegt wird, die zusammen mit der Uhrzeit auf dem Zifferblatt angezeigt werden. Mit diesen Voreinstellungen können Sie einfacher visuell ansprechende Gruppen von Elementen erstellen. In der Wear OS Companion App sehen Nutzer die verschiedenen Varianten Ihres Zifferblatts in einer scrollbaren Zeile.
- Eine Szene mit den visuellen Elementen eines Zifferblatts. Elemente, die näher am Ende der Szene erscheinen, werden über anderen Elementen angezeigt. Die typische Reihenfolge ist daher:
- Die Zeiger einer analogen Uhr oder der Text einer digitalen Uhr
- Zusatzfunktionen, die zusätzliche Informationen anzeigen, z. B. den Wochentag oder die Schrittzahl eines Nutzers
- Andere Grafiken, die das Zifferblatt optisch ansprechender oder verzieren, z. B. ein Bild eines Campingplatzes
- Elementgruppen, mit denen Sie mehrere Elemente gleichzeitig ändern können. Sie können Varianten dieser Gruppen innerhalb einer Szene erstellen, mit denen Sie Inhalte selektiv ausblenden oder ändern können, wenn das System in den energiesparenden Inaktivitätsmodus wechselt.
Attribute sind stark typisiert und haben Richtlinien für Häufigkeit und gültige Werte, um die meisten Fehlerquellen beim Erstellen eines Zifferblatts zu vermeiden.
Unterstützung für Zifferblattformen angeben (optional)
Dieser Schritt ist nur erforderlich, wenn Sie ein anderes Verhalten für verschiedene Zifferblattgrößen unterstützen möchten. Sie können diesen Schritt überspringen, wenn das Zifferblatt mit der Größe der Smartwatch skaliert werden soll.
Deklarieren Sie im Ressourcenverzeichnis res/xml
Ihrer App die Zifferblattformen, die Sie in watch_face_shapes.xml
unterstützen:
<WatchFaces> <WatchFace shape="CIRCLE" width="300" height="300" file="@raw/watchface"/> <WatchFace shape="CIRCLE" width="450" height="450" file="@raw/watchface_large_circle"/> <!-- Remove any references to rectangular watch faces --><WatchFace shape="RECTANGLE" width="380" height="400" file="@raw/watchface_rectangle"/></WatchFaces>
Legen Sie dann das Aussehen und Verhalten des Zifferblatts für jede Zifferblattform fest.
Wenn Sie keine Shapefile definiert haben, müssen Sie nur eine Datei erstellen, watchface.xml
.
Anhand des Beispiels in diesem Abschnitt wären das die Roh-XML-Dateien:
res/raw/watchface.xml
res/raw/watchface_large_circle.xml
res/raw/watchface_rectangle.xml
Zifferblatt-Publisher angeben (optional)
Optional können Sie in der Manifestdatei Ihrer App einen beliebigen String angeben, mit dem Sie den Publisher des Zifferblatts oder den Namen und die Version des verwendeten Tools identifizieren können:
<application ...>
...
<property
android:name="com.google.wear.watchface.format.publisher"
android:value="<var>{toolName}-{toolVersion}</var>" />
</application>
Richtigkeit und Leistung des Zifferblatts prüfen
Verwenden Sie während der Entwicklung und vor dem Hochladen bei Google Play die Validierungstools, um zu prüfen, ob Ihr Zifferblatt frei von Fehlern ist und den Empfehlungen zur Speichernutzung entspricht.
- Weitere Informationen zum Optimieren der Arbeitsspeichernutzung und zum Prüfen der Arbeitsspeichernutzung in Vorbereitung auf die Veröffentlichung
- Weitere Informationen zur Verwendung des XML-Validators im Rahmen Ihres Entwicklungszyklus
App-Bundle für Zifferblätter erstellen
Verwenden Sie das Gradle-Build-System, um das Android App Bundle zu erstellen, das Ihr Zifferblatt enthält. Weitere Informationen zum Erstellen einer App mit Gradle
Das wird in den GitHub-Beispielen veranschaulicht.
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- AAPT2
- Grundlagen von Jetpack Compose
- Erste Schritte mit CameraX