یک صفحه ساعت بکشید

بعد از اینکه پروژه خود را پیکربندی کردید و کلاسی را اضافه کردید که سرویس صفحه ساعت را پیاده‌سازی می‌کند، می‌توانید شروع به نوشتن کد برای مقداردهی اولیه و ترسیم صفحه ساعت سفارشی خود کنید.

هر صفحه ساعت یک زیرکلاس سفارشی از یک رندرکننده ایجاد می‌کند که هر آنچه برای ترسیم صفحه ساعت لازم است را پیاده‌سازی می‌کند.

رندرکننده، 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
    }
}