Cómo dibujar una cara de reloj

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Una vez que hayas configurado tu proyecto y agregado una clase que implementa 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 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!
    }
}