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