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

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

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

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