Detail tampilan jam menampilkan data dari sumber data. Dengan Complications API, tampilan jam dapat memilih sumber data yang ingin digunakan untuk mendapatkan data yang mendasarinya. Dengan API ini, tampilan jam dapat menampilkan informasi selain waktu tanpa memerlukan kode untuk mendapatkan data tersebut.
Menggunakan ComplicationSlotsManager
Untuk menambahkan detail ke tampilan jam, gunakan
ComplicationSlotsManager
.
ComplicationSlotsManager
menentukan jumlah detail yang didukung
tampilan jam, dan posisinya di layar. Untuk mendukung perubahan
lokasi atau jumlah detail, ComplicationSlotsManager
juga menggunakan
CurrentUserStyleRepository
seperti ditunjukkan pada contoh berikut:
override fun createComplicationSlotsManager(
currentUserStyleRepository: CurrentUserStyleRepository
): ComplicationSlotsManager {
val defaultCanvasComplicationFactory =
CanvasComplicationFactory { watchState, listener ->
// ...
}
val leftComplicationSlot = ComplicationSlot.createRoundRectComplicationSlotBuilder(
id = 100,
canvasComplicationFactory = defaultCanvasComplicationFactory,
// ...
)
.setDefaultDataSourceType(ComplicationType.SHORT_TEXT)
.build()
val rightComplicationSlot = ComplicationSlot.createRoundRectComplicationSlotBuilder(
id = 101,
canvasComplicationFactory = defaultCanvasComplicationFactory,
// ...
)
.setDefaultDataSourceType(ComplicationType.SHORT_TEXT)
.build()
return ComplicationSlotsManager(
listOf(leftComplicationSlot, rightComplicationSlot),
currentUserStyleRepository
)
}
Jenis dan kolom
Tabel berikut menjelaskan jenis dan kolom objek
ComplicationData
. Jika tampilan jam meminta kolom yang tidak valid untuk suatu jenis detail,
nilai default untuk kolom tersebut akan ditampilkan. Misalnya, jika tampilan jam
mencoba mengakses kolom LONG_TEXT
dalam jenis SHORT_TEXT
, nilai default
untuk kolom LONG_TEXT
, null, akan ditampilkan. Perhatikan bahwa kolom opsional tidak dijamin akan ditampilkan.
Jenis | Kolom wajib diisi | Kolom opsional | Catatan |
---|---|---|---|
SHORT_TEXT
|
Teks pendek |
Ikon Ikon anti burn-in Judul singkat Deskripsi konten |
Hanya tampilkan satu ikon atau judul singkat jika salah satu atau keduanya disediakan. |
MONOCHROMATIC_IMAGE
|
Gambar monokromatik |
Ikon anti burn-in Deskripsi konten |
Digunakan saat teks tidak diperlukan. Ikon diharapkan memiliki warna tunggal, dan mungkin diberi warna oleh tampilan jam. |
RANGED_VALUE
|
Nilai Nilai min Nilai maks |
Gambar monokromatik Ikon anti burn-in Teks pendek Judul singkat Gradien warna Nilai dinamis Deskripsi konten |
Jika ingin menggambar status progres Anda sendiri, Anda dapat menggunakan metode
isRangedValueProgressHidden() untuk menyembunyikan status progres
yang disediakan oleh class
ComplicationDrawable .
|
GOAL_PROGRESS
|
Nilai Nilai target |
Gambar monokromatik Ikon anti burn-in Teks pendek Judul singkat Gradien warna Nilai dinamis Deskripsi konten |
GOAL_PROGRESS ditujukan untuk hal-hal seperti jumlah langkah saat Nilai dimulai dari nol, dan diizinkan untuk melampaui nilai Target. |
LONG_TEXT
|
Teks panjang |
Judul panjang Gambar monokromatik Ikon anti burn-in Gambar kecil Deskripsi konten |
Menampilkan judul panjang jika tersedia. |
SMALL_IMAGE
|
Gambar kecil |
Deskripsi konten |
Gambar kecil memiliki salah satu dari dua gaya: gaya foto atau gaya
ikon. Gaya foto berarti gambar akan mengisi ruang dan dapat
dipangkas. Gaya ikon berarti gambar tidak dapat dipangkas dan dapat diberi padding.
Variabilitas gambar dapat menghasilkan gambar yang tidak cocok untuk ditampilkan
dalam mode standby di perangkat dengan anti burn-in atau dengan mode standby
bit rendah. Jika anti burn-in atau mode standby bit rendah
diaktifkan, tampilan jam dapat menggunakan gambar kecil anti burn-in
karena cukup aman. Jika tidak, gambar tidak akan ditampilkan karena sulit bagi tampilan
jam untuk menentukan kecocokan.
|
LARGE_IMAGE
|
Gambar besar |
Deskripsi konten |
Gambar ini diharapkan cukup besar untuk mengisi tampilan jam.
Variabilitas gambar dapat menghasilkan gambar yang tidak cocok untuk ditampilkan
dalam mode standby di perangkat dengan anti burn-in atau dengan mode standby
bit rendah. Karena sulit bagi tampilan jam untuk menentukan
kesesuaian tampilan,
tampilan jam tidak akan menampilkan gambar
dalam mode standby jika anti burn-in atau mode standby bit rendah diaktifkan.
|
WEIGHTED_ELEMENTS
|
Daftar elemen |
Gambar monokromatik Ikon anti burn-in Teks pendek Judul singkat Deskripsi konten |
Setiap Elemen terdiri dari warna dan bobot (lebih besar dari nol). Ukuran elemen saat dirender harus proporsional dengan bobotnya. Bobot tidak diperlukan untuk menjumlahkan nilai tertentu. Perhatikan bahwa tampilan jam diizinkan untuk mewarnai ulang WEIGHTED_ELEMENTS. |
Tabel berikut menjelaskan jenis detail untuk data kosong yang dapat dikirim untuk slot detail apa pun. Jenis ini tidak memiliki kolom dan tidak perlu disertakan dalam daftar jenis yang didukung. Jenis ini memungkinkan tampilan jam membedakan tiga kasus penggunaan berikut:
- Tidak ada sumber yang dipilih
- Pengguna telah memilih "kosong" untuk suatu slot
- Sumber tidak memiliki data untuk dikirim
Sumber tidak dapat mengirim TYPE_EMPTY
sebagai respons terhadap
permintaan update. Sebagai gantinya, kirim TYPE_NO_DATA
.
Jenis detail | Deskripsi |
---|---|
TYPE_NOT_CONFIGURED
|
Dikirim oleh sistem saat salah satu detail diaktifkan, tetapi pengguna
belum memilih sumber dan tidak ada default yang ditetapkan.
Tidak dapat dikirim oleh sumber. |
TYPE_EMPTY
|
Dikirim oleh sistem saat salah satu detail diaktifkan dan pengguna
memilih "kosong", bukan sumber, atau saat tampilan jam
tidak memilih sumber, dan jenis detail ini sebagai default.
Tidak dapat dikirim oleh sumber. |
TYPE_NO_DATA
|
Dikirim oleh sistem saat salah satu detail yang memiliki sumber diaktifkan
untuk mengosongkan detail sebelum data aktual diterima
dari sumber.
Dapat dikirim oleh sumber jika tidak memiliki data aktual untuk dikirim |
Untuk mengetahui informasi selengkapnya, lihat contoh WatchFace di GitHub.
Direkomendasikan untuk Anda
- Catatan: teks link ditampilkan saat JavaScript nonaktif
- DefaultProviderPolicy
- ComplicationSlot
- Complication