بعد تهيئة مشروعك وإضافة فئة لتنفيذ خدمة خلفية شاشة الساعة، يمكنك البدء في كتابة التعليمات البرمجية لإعداد خلفية شاشة الساعة المخصصة ورسمها.
تنشئ كل خلفية من خلفيات شاشة الساعة فئة فرعية مخصّصة من العارض الذي ينفّذ كل ما يلزم لرسم خلفية شاشة الساعة.
يجمع العارض بين
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
}
}