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

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

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

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