אחרי שמגדירים את הפרויקט ומוסיפים מחלקה שמטמיעה את שירות לוח השעון, אפשר להתחיל לכתוב קוד כדי לאתחל ולצייר את לוח השעון המותאם אישית.
כל תצוגת שעון יוצרת מחלקת משנה מותאמת אישית של רכיב עיבוד, שמטמיעה את כל מה שצריך כדי לצייר את תצוגת השעון.
הכלי לעיבוד הגרפי משלב את 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
}
}