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

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

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

ה-renderer משלב את 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
    }
}