رسم خلفية شاشة ساعة

بعد تهيئة مشروعك وإضافة فئة لتنفيذ خدمة خلفية شاشة الساعة، يمكنك البدء في كتابة التعليمات البرمجية لإعداد خلفية شاشة الساعة المخصصة ورسمها.

تنشئ كل خلفية من خلفيات شاشة الساعة فئة فرعية مخصّصة من العارض الذي ينفّذ كل ما يلزم لرسم خلفية شاشة الساعة.

يجمع العارض بين 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
    }
}