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

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

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

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