Disegna un quadrante

Dopo aver configurato il progetto e aggiunto una classe che implementi il servizio dei quadranti, 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 sulla complicazione di ComplicationSlotsManager, l'ora corrente e altre informazioni sullo stato per visualizzare il 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
    }
}