שרטוט תצוגת שעון

אחרי שמגדירים את הפרויקט ומוסיפים כיתה שמטמיעה את שירות תצוגת השעון, אפשר להתחיל לכתוב קוד כדי לאתחל ולצייר את תצוגת השעון בהתאמה אישית.

כל תצוגת שעון יוצרת מחלקה משנית מותאמת אישית של כלי לעיבוד שמטמיע כל מה שצריך כדי לשרטט את תצוגת השעון.

ה-רינדור משלב UserStyle, מידע על רכיבים מ- ComplicationSlotsManager, השעה הנוכחית ומידע אחר על המצב הנוכחי מעבדים את תצוגת השעון, כמו בדוגמה הבאה:

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