Después de configurar tu proyecto y agregar una clase que implemente el servicio de cara de reloj, puedes comenzar a escribir código para inicializar y dibujar tu cara de reloj personalizada.
Cada cara de reloj creará una subclase personalizada de un procesador que implementa todo lo necesario para dibujar la cara de reloj.
El procesador combina el UserStyle
, la información de la complicación de ComplicationSlotsManager
, la hora actual y otra información de estado para renderizar la cara de reloj, como se muestra en el siguiente ejemplo:
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
}
}