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

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

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

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