Vẽ mặt đồng hồ

Sau khi định cấu hình dự án và thêm một lớp giú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ồ 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 của ComplicationSlotsManager, thời gian hiện tại và thông tin khác về trạng thái để kết xuất mặt đồng hồ như trong ví dụ sau đây:

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