Po skonfigurowaniu projektu i dodaniu klasy, która wdraża usługę tarczy zegarka, możesz zacząć pisać kod, aby zainicjować i narysować własną tarczę zegarka.
Każda tarcza tworzy niestandardową podklasę mechanizmu renderowania, która implementuje wszystko, co jest potrzebne do rysowania tarczy zegarka.
Mechanizm renderowania łączy obiekt UserStyle
, informacje o widoku z ComplicationSlotsManager
, aktualną godzinę i inne informacje o stanie, aby wyświetlić tarczę zegarka, jak w tym przykładzie:
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
}
}