Hinweis: Auf dieser Seite wird ein Schritt des Prozesses zur manuellen Verwaltung der Zifferblattkonfiguration beschrieben. Wenn du dein Zifferblatt stattdessen mit einem WYSIWYG-Tool (What You See Is What You Get) entwerfen möchtest, lies dir zuerst die Anleitungen zu Watch Face Studio durch.
Dieser Leitfaden enthält eine Anleitung zu den Tools, die Sie zum Konfigurieren eines Zifferblatts mit dem Watch Face-Format benötigen, einige Vorschläge zur Projektstruktur und eine Schritt-für-Schritt-Anleitung zum Anwenden der Tools zum Erstellen dieser Struktur.
Erste Schritte mit Android Studio
Am einfachsten ist der Einstieg in die manuelle Entwicklung von Zifferblättern mit Android Studio. Die Unterstützung für Zifferblätter ist im Canary-Channel verfügbar.
- Klicken Sie auf Datei > Neues Projekt.
- Wählen Sie unter Wear OS die Option Einfaches Zifferblatt aus.
Dadurch wird die erforderliche Struktur für ein voll funktionsfähiges Zifferblatt erstellt.
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. In einigen App-Stores, einschließlich Google Play, können Sie kein Android App Bundle hochladen, das sowohl Wear OS-Logik als auch ein benutzerdefiniertes Zifferblatt enthält.
Version des Watch Face-Formats deklarieren
Sehen Sie sich in der Manifestdatei (AndroidManifest.xml) Ihrer neuen App das Attribut „application“ an, das angibt, dass Sie das Watch Face-Format verwenden.
Einige Funktionen des Zifferblattformats sind nur in neueren Versionen verfügbar. Legen Sie für diese Eigenschaft den niedrigsten Wert fest, der die benötigten Funktionen unterstützt, um die Gerätekompatibilität zu maximieren. Legen Sie außerdem minSdkVersion entsprechend fest. Weitere Informationen zum Konfigurieren von Versionen Ihrer App
<manifest ...>
<!--
Use SDK version 33 to support Watch Face Format (WFF) version 1 and
higher, SDK version 34 to support WFF version 2 and higher, and so on.
-->
<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>
Zifferblatt-Metadaten deklarieren
Im Ressourcenverzeichnis res/xml Ihrer App befindet sich eine 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 enthalten die folgenden Informationen:
Preview- Verweist auf die Drawables, die ein Vorschaubild des Zifferblatts enthalten.
CategoryDefiniert die Kategorie des Zifferblatts. Muss ein String oder ein Verweis auf einen String sein, z. B.
@string/ref_name. Jeder Gerätehersteller kann eigene Zifferblattkategorien definieren.Standardwert:
empty_category_meta. Dadurch wird dieses Zifferblatt unten in der Zifferblattauswahlansicht mit anderen Zifferblättern der „leeren Kategorie“ gruppiert.AvailableInRetailGibt 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_retailsein.Standardwert:
falseMultipleInstancesAllowedGibt an, ob das Zifferblatt mehrere Favoriten haben kann. Muss ein boolescher Wert oder ein Verweis auf einen booleschen Wert sein, z. B.
@bool/watch_face_multiple_instances_allowed.Standardwert:
falseEditableOb das Zifferblatt bearbeitbar ist, d. h., ob es eine Einstellung oder mindestens eine nicht fixierte Zusatzfunktion hat. Damit wird die Schaltfläche Bearbeiten für das Zifferblatt in der Favoritenliste ein- oder ausgeblendet.
Standardwert: false
Zifferblattname deklarieren
Lege in der Manifestdatei deiner App (AndroidManifest.xml) das Attribut android:label auf den Namen deines Zifferblatts fest:
<application android:label="@string/watch_face_name" >
Zifferblattdetails deklarieren
Die Struktur eines einfachen WFF-Zifferblattdokuments sieht so aus:
<WatchFace width="450" height="450">
<Scene>
<!-- Content to be rendered -->
</Scene>
</WatchFace>
Die Android Studio-Vorlage enthält ein einfaches Dokument unter res/raw/watchface.xml. Damit verschiedene Bildschirmformen und ‑größen unterstützt werden, muss die Unterstützung für mehrere Formen und Größen deklariert werden.
Das Stammelement ist immer WatchFace. Mit height und width wird der Umfang des Koordinatenraums für die Verwendung auf dem Zifferblatt definiert. Das Zifferblatt wird so skaliert, dass es auf das Gerät passt, auf dem es verwendet wird. height und width stellen keine tatsächlichen Pixel dar.
Im Watch Face-Format werden verschiedene Details zu deinem Zifferblatt organisiert:
- Metadaten, z. B. die Uhrzeit und die Schrittzahl, die im Vorschaubild des Zifferblatts angezeigt werden.
- Nutzerkonfigurationen, z. B. verschiedene Farbschemas für dein Zifferblatt, vom Nutzer aktivierbare Elemente und eine Auswahl aus mehreren Elementen. Mit Version 2 des Watch Face-Formats werden Varianten eingeführt, die in einer Nutzerkonfiguration enthalten sein können. Für jedes Design wird eine voreingestellte Nutzerkonfiguration angegeben, in der der Typ und Stil der Elemente festgelegt sind, die auf dem Zifferblatt zusammen mit der Uhrzeit angezeigt werden. Mit diesen Voreinstellungen können Sie leichter Gruppen von Elementen erstellen, die optisch ansprechend sind. In der Wear OS Companion-App sehen Nutzer die verschiedenen Varianten Ihres Zifferblatts in einer scrollbaren Zeile.
- Eine Szene, die die visuellen Elemente eines Zifferblatts enthält. Elemente, die näher am Ende der Szene erscheinen, werden über anderen Elementen angezeigt. Die typische Reihenfolge ist also folgende:
- Die Zeiger einer analogen Uhr oder der Text einer digitalen Uhr
- Zusatzfunktionen, die zusätzliche Informationen wie den Wochentag oder die Schrittzahl eines Nutzers anzeigen
- Andere Grafiken, die das Zifferblatt visuell interessanter machen oder dekorieren, z. B. ein Bild von einem Campingplatz
- Gruppen von Elementen, mit denen Sie mehrere Elemente gleichzeitig ändern können. Sie können Varianten dieser Gruppen in einer Szene erstellen, um Inhalte selektiv auszublenden oder zu ändern, wenn das System in einen energiesparenden Ambient-Modus 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 deklarieren (optional)
Dieser Schritt ist nur erforderlich, wenn Sie unterschiedliches Verhalten für verschiedene Größen von Zifferblättern 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 res/xml-Ressourcenverzeichnis Ihrer App die unterstützten Zifferblattformen in watch_face_shapes.xml:
<WatchFaces>
<WatchFace shape="CIRCLE" width="300" height="300"
file="@raw/watchface"/>
<WatchFace shape="CIRCLE" width="450" height="450"
file="@raw/watchface_large_circle"/>
<WatchFaces>
Definieren Sie dann das Aussehen und Verhalten des Zifferblatts für jede Zifferblattform.
Wenn Sie keine Datei mit Formen definiert haben, benötigen Sie nur eine Datei: watchface.xml.
Anhand des Beispiels aus diesem Abschnitt sehen die Roh-XML-Dateien so aus:
res/raw/watchface.xmlres/raw/watchface_large_circle.xml
Publisher des Zifferblatts identifizieren (optional)
Optional können Sie im Manifest Ihrer App einen beliebigen String deklarieren, mit dem Sie den Publisher des Zifferblatts oder den Namen und die Version des Tools identifizieren können, das Sie verwenden:
<application ...>
...
<property
android:name="com.google.wear.watchface.format.publisher"
android:value="<var>{toolName}-{toolVersion}</var>" />
</application>
Richtigkeit und Leistung Ihres Zifferblatts prüfen
Prüfen Sie während der Entwicklung und vor dem Hochladen bei Google Play, ob Ihr Zifferblatt Syntaxfehler enthält. Verwenden Sie dazu die integrierte Validierung des Zifferblattformats in Android Studio. Dadurch werden Fehler in Ihrem Code automatisch hervorgehoben und die Version wird berücksichtigt.
Sie sollten auch prüfen, ob Ihr Zifferblatt die Anforderungen an die Arbeitsspeichernutzung erfüllt, indem Sie das Tool zur Arbeitsspeichernutzung ausführen.
- Weitere Informationen zum Optimieren der Arbeitsspeichernutzung und zum Prüfen der Arbeitsspeichernutzung vor der Veröffentlichung
- Weitere Informationen zur Verwendung des XML-Validators im Rahmen des Entwicklungszyklus
App-Bundle für Zifferblatt erstellen
Am einfachsten lässt sich ein Zifferblatt mit Android Studio erstellen und bereitstellen, da es eine integrierte Unterstützung für Run-Konfigurationen für Zifferblätter bietet. Nachdem Sie auf die Schaltfläche Run (Ausführen) geklickt haben, stellt Android Studio das Zifferblatt auf dem Gerät oder Emulator bereit und legt es als aktives Zifferblatt fest.
Beispielhafte Zifferblätter
Weitere Beispiele für Projekte im Watch Face-Format sind auf GitHub verfügbar.
Empfehlungen für Sie
- Hinweis: Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- AAPT2
- Jetpack Compose – Grundlagen
- Erste Schritte mit CameraX