Vẽ mặt đồng hồ

Sau khi định cấu hình dự án và thêm một lớp triển khai dịch vụ mặt đồng hồ, bạn có thể bắt đầu viết mã để khởi chạy và vẽ mặt đồng hồ tuỳ chỉnh của mình.

Mỗi mặt đồng hồ sẽ tạo ra một lớp con tuỳ chỉnh của trình kết xuất đồ hoạ để triển khai mọi thứ cần thiết cho việc vẽ mặt đồng hồ.

Trình kết xuất kết hợp UserStyle, thông tin về chức năng từ ComplicationSlotsManager, thời gian hiện tại và thông tin trạng thái khác để kết xuất mặt đồng hồ như trong ví dụ sau

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!
    }
}