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.
Jenis | Kolom wajib diisi | Kolom opsional | Catatan |
---|---|---|---|
SHORT_TEXT
|
Teks pendek |
Ikon Ikon anti burn-in Judul singkat |
Hanya tampilkan satu ikon atau judul singkat jika salah satu atau keduanya disediakan. |
ICON
|
Ikon | Ikon anti burn-in | Digunakan saat teks tidak diperlukan. Ikon diharapkan memiliki warna tunggal, dan mungkin diberi warna oleh tampilan jam. |
RANGED_VALUE
|
Nilai Nilai min Nilai maks |
Ikon Ikon anti burn-in Teks pendek Judul singkat |
Kolom opsional tidak dijamin akan ditampilkan.
Jika ingin menggambar status progres Anda sendiri, Anda dapat menggunakan metode
isRangedValueProgressHidden() untuk menyembunyikan status progres
yang disediakan oleh class
ComplicationDrawable .
|
LONG_TEXT
|
Teks panjang |
Judul panjang Ikon Ikon anti burn-in Gambar kecil |
Menampilkan judul panjang jika tersedia. |
SMALL_IMAGE
|
Gambar kecil | 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. Saat 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 | 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. |
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.