Disegna un quadrante

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

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

Il visualizzatore combina il UserStyle, le informazioni sulle complicazioni 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
    }
}