Disegna un quadrante

Dopo aver configurato il progetto e aggiunto una classe che implementa il servizio per il quadrante, puoi iniziare a scrivere il codice per inizializzare e disegnare il tuo quadrante personalizzato.

Ogni quadrante crea una sottoclasse personalizzata di un renderer che implementa tutto il necessario per disegnare il quadrante.

Il renderer combina UserStyle, le informazioni di complicazione di ComplicationSlotsManager, l'ora corrente e altre informazioni sullo stato per eseguire il rendering del quadrante, come mostrato nell'esempio seguente:

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