Zifferblatt zeichnen

Nachdem Sie Ihr Projekt konfiguriert und eine Klasse hinzugefügt haben, die die können Sie mit dem Schreiben von Code beginnen, um Ihren benutzerdefiniertes Zifferblatt

Für jedes Zifferblatt wird eine benutzerdefinierte Unterklasse eines Renderers erstellt, die um das Zifferblatt zu zeichnen.

Der Renderer kombiniert UserStyle, der Informationen zu Zusatzfunktionen von ComplicationSlotsManager, die aktuelle Uhrzeit und andere Statusinformationen, Rendern Sie das Zifferblatt, wie im folgenden Beispiel gezeigt:

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