Catatan: Halaman ini menunjukkan langkah-langkah proses untuk mengelola konfigurasi tampilan jam Anda secara manual. Jika Anda ingin mendesain tampilan jam menggunakan alat gaya WYSIWYG (apa yang Anda lihat adalah apa yang Anda dapatkan), lihat panduan Watch Face Studio terlebih dahulu.
Panduan ini mencakup langkah-langkah pada alat yang Anda perlukan untuk mengonfigurasi tampilan jam menggunakan Format Tampilan Jam, beberapa saran tentang struktur project, dan panduan langkah demi langkah untuk menerapkan alat guna membuat struktur tersebut.
Mulai menggunakan Android Studio
Cara termudah untuk mulai mengembangkan tampilan jam secara manual adalah dengan menggunakan Android Studio. Dukungan tampilan jam tersedia di saluran canary.
- Klik File > Project Baru
- Di bagian Wear OS, pilih Tampilan jam dasar
Tindakan ini akan membuat struktur yang diperlukan untuk tampilan jam yang berfungsi penuh.
Struktur project
Saat Anda membuat tampilan jam kustom yang menggunakan Format Tampilan Jam, Android App Bundle yang menyertakan file tampilan jam kustom harus sepenuhnya terpisah dari Android App Bundle yang berisi logika aplikasi Wear OS. Beberapa app store, termasuk Google Play, mencegah Anda mengupload Android App Bundle yang menyertakan logika Wear OS dan tampilan jam kustom.
Mendeklarasikan versi Format Tampilan Jam
Di file manifes aplikasi baru (AndroidManifest.xml), periksa properti
aplikasi yang menunjukkan penggunaan Format Tampilan Jam oleh Anda.
Beberapa fitur Format Wajah Jam hanya tersedia di versi yang lebih baru. Tetapkan
properti ini ke nilai terendah yang mendukung fitur yang Anda butuhkan, untuk
memaksimalkan kompatibilitas perangkat, dan juga tetapkan minSdkVersion agar cocok. Pelajari
lebih lanjut cara mengonfigurasi versi aplikasi Anda.
<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>
Mendeklarasikan metadata tampilan jam
Di direktori resource res/xml aplikasi Anda, terdapat file bernama
watch_face_info.xml. Di sinilah Anda menentukan metadata tampilan jam:
<?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>
Kolom dalam file ini mewakili detail berikut:
Preview- Mereferensikan drawable yang berisi gambar pratinjau tampilan jam.
CategoryMenentukan kategori tampilan jam. Harus berupa string atau referensi ke string, seperti
@string/ref_name. Setiap produsen perangkat dapat menentukan kumpulan kategori tampilan jamnya sendiri.Nilai default:
empty_category_meta, yang mengelompokkan tampilan jam ini dengan tampilan jam "kategori kosong" lainnya di bagian bawah tampilan pemilih tampilan jam.AvailableInRetailApakah tampilan jam tersedia di mode demo retail perangkat. Harus berupa nilai boolean atau referensi ke nilai boolean seperti
@bool/watch_face_available_in_retail.Nilai default:
falseMultipleInstancesAllowedApakah tampilan jam dapat memiliki beberapa favorit. Harus berupa nilai boolean, atau referensi ke nilai boolean, seperti
@bool/watch_face_multiple_instances_allowed.Nilai default:
falseEditableApakah tampilan jam dapat diedit, artinya tampilan jam memiliki setelan atau setidaknya satu detail yang tidak tetap. Setelan ini digunakan untuk menampilkan atau menyembunyikan tombol Edit untuk tampilan jam dalam daftar favorit.
Nilai default: false
Mendeklarasikan nama tampilan jam
Di file manifes aplikasi (AndroidManifest.xml), tetapkan atribut android:label
ke nama tampilan jam:
<application android:label="@string/watch_face_name" >
Mendeklarasikan detail tampilan jam
Struktur dokumen tampilan jam WFF dasar adalah sebagai berikut:
<WatchFace width="450" height="450">
<Scene>
<!-- Content to be rendered -->
</Scene>
</WatchFace>
Template Android Studio menyediakan dokumen dasar di
res/raw/watchface.xml. Untuk mendukung berbagai bentuk dan ukuran layar, deklarasikan dukungan untuk beberapa bentuk dan ukuran.
Elemen root selalu WatchFace. height dan width menentukan
luas ruang koordinat untuk digunakan di tampilan jam, dan tampilan jam
diskala agar sesuai dengan perangkat yang digunakan; height dan width tidak
mewakili piksel sebenarnya.
Format Tampilan Jam mengatur beberapa detail tentang tampilan jam Anda:
- Metadata, seperti waktu dan jumlah langkah yang ditampilkan dalam gambar pratinjau tampilan jam Anda.
- Konfigurasi pengguna, seperti tema warna yang berbeda untuk tampilan jam Anda, elemen yang dapat diaktifkan/dinonaktifkan pengguna, dan pilihan di antara beberapa elemen. Format Tampilan Jam versi 2 memperkenalkan varian, yang dapat muncul dalam konfigurasi pengguna. Setiap varian menentukan konfigurasi pengguna preset, yang menentukan jenis dan gaya elemen yang muncul dengan waktu di tampilan jam Anda. Preset ini memudahkan Anda membuat grup elemen yang menarik secara visual. Di aplikasi pendamping Wear OS, pengguna melihat berbagai variasi tampilan jam Anda di sepanjang baris yang dapat di-scroll.
- Scene yang berisi elemen visual tampilan jam. Elemen yang
muncul lebih dekat ke akhir adegan muncul di atas elemen lain, sehingga
urutan biasanya adalah sebagai berikut:
- Jarum jam untuk jam analog atau teks untuk jam digital
- Komplikasi yang menampilkan informasi tambahan, seperti hari dalam seminggu atau jumlah langkah pengguna
- Grafik lain yang memberikan daya tarik visual atau dekorasi untuk tampilan jam, seperti gambar tempat berkemah
- Grup elemen, yang memungkinkan Anda mengubah beberapa elemen secara bersamaan. Anda dapat membuat varian grup ini dalam adegan, yang memungkinkan Anda menyembunyikan atau mengubah konten secara selektif saat sistem memasuki mode sekitar hemat daya.
Atribut diketik dengan ketat dan memiliki panduan seputar frekuensi serta nilai yang valid agar sebagian besar sumber tidak error saat membuat tampilan jam.
Mendeklarasikan dukungan untuk bentuk tampilan jam (opsional)
Langkah ini hanya diperlukan jika Anda ingin mendukung perilaku yang berbeda untuk berbagai ukuran tampilan jam. Anda dapat melewati langkah ini jika Anda ingin tampilan jam Anda diskalakan sesuai dengan ukuran smartwatch.
Dalam direktori resource res/xml aplikasi Anda, deklarasikan kumpulan bentuk
tampilan jam yang Anda dukung di 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>
Kemudian, tentukan tampilan dan perilaku tampilan jam untuk setiap bentuk tampilan jam.
Jika Anda tidak menentukan file bentuk, Anda hanya memerlukan satu file, watchface.xml.
Dengan menggunakan contoh dari bagian ini, file XML mentahnya adalah:
res/raw/watchface.xmlres/raw/watchface_large_circle.xml
Mengidentifikasi penayang tampilan jam (opsional)
Secara opsional, di file manifes aplikasi, deklarasikan string arbitrer yang dapat digunakan untuk mengidentifikasi penayang tampilan jam, atau nama dan versi alat yang Anda gunakan:
<application ...>
...
<property
android:name="com.google.wear.watchface.format.publisher"
android:value="<var>{toolName}-{toolVersion}</var>" />
</application>
Memeriksa kebenaran dan performa tampilan jam
Selama pengembangan, dan sebelum mengupload ke Google Play, periksa apakah tampilan jam Anda bebas dari error sintaksis dengan menggunakan validasi Format Tampilan Jam bawaan di Android Studio. Fitur ini secara otomatis menandai error dalam kode Anda dan mengetahui versi.
Anda juga harus memeriksa apakah tampilan jam memenuhi persyaratan penggunaan memori dengan menjalankan alat jejak memori.
- Pelajari lebih lanjut cara mengoptimalkan penggunaan memori dan memeriksa penggunaan memori sebagai persiapan untuk memublikasikan.
- Pelajari lebih lanjut cara menggunakan validator XML sebagai bagian dari siklus pengembangan Anda.
Membangun app bundle tampilan jam
Cara termudah untuk mem-build dan men-deploy tampilan jam adalah melalui Android Studio, yang memiliki dukungan bawaan untuk konfigurasi eksekusi tampilan jam. Setelah Anda mengklik tombol Run, Android Studio akan men-deploy tampilan jam ke perangkat atau emulator dan menyetelnya sebagai tampilan jam aktif.
Contoh tampilan jam
Contoh project Format Wajah Jam lainnya tersedia di GitHub.
Direkomendasikan untuk Anda
- Catatan: teks link ditampilkan saat JavaScript nonaktif
- AAPT2
- Dasar-dasar Jetpack Compose
- Mulai Menggunakan CameraX