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

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

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

הרינדור משלב את 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
    }
}