Menggambar tampilan jam

Setelah mengonfigurasi project dan menambahkan class yang mengimplementasikan layanan tampilan jam, Anda dapat mulai menulis kode untuk melakukan inisialisasi dan menggambar tampilan jam kustom.

Setiap tampilan jam akan membuat subclass kustom dari perender yang menerapkan semua yang diperlukan untuk menggambar tampilan jam.

Perender menggabungkan UserStyle, informasi detail dari ComplicationSlotsManager, waktu saat ini, dan informasi status lainnya untuk merender tampilan jam, seperti ditunjukkan pada contoh berikut:

class CustomCanvasRenderer(
    private val context: Context,
    surfaceHolder: SurfaceHolder,
    watchState: WatchState,
    private val complicationSlotsManager: ComplicationSlotsManager,
    currentUserStyleRepository: CurrentUserStyleRepository,
    canvasType: Int
) : Renderer.CanvasRenderer(
    surfaceHolder = surfaceHolder,
    currentUserStyleRepository = currentUserStyleRepository,
    watchState = watchState,
    canvasType = canvasType,
    interactiveDrawModeUpdateDelayMillis = 16L
) {
    override fun render(canvas: Canvas, bounds: Rect, zonedDateTime: ZonedDateTime) {
        // Draw into the canvas
    }

    override fun renderHighlightLayer(canvas: Canvas, bounds: Rect, zonedDateTime: ZonedDateTime) {
        // Draw into the canvas
    }
}