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