Kadran çizin

Projenizi yapılandırıp saat yüzü hizmetini uygulayan bir sınıf ekledikten sonra özel saat yüzünüzü başlatmak ve çizmek için kod yazmaya başlayabilirsiniz.

Her saat yüzü, saat yüzünü çizmek için gereken her şeyi uygulayan bir oluşturucunun özel alt sınıfını oluşturur.

Oluşturucu, kadranı oluşturmak için UserStyle, ComplicationSlotsManager'daki komplikasyon bilgileri, mevcut saat ve diğer durum bilgilerini birleştirir. Bu işlem, aşağıdaki örnekte gösterildiği gibi yapılır:

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
    }
}