Нарисуйте циферблат

После настройки проекта и добавления класса, реализующего службу циферблата, вы можете приступить к написанию кода для инициализации и рисования собственного циферблата.

Каждый циферблат создает собственный подкласс средства визуализации, реализующий все необходимое для отрисовки циферблата.

Средство визуализации объединяет 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
   
}
}
,

После настройки проекта и добавления класса, реализующего службу циферблата, вы можете приступить к написанию кода для инициализации и рисования собственного циферблата.

Каждый циферблат создает собственный подкласс средства визуализации, реализующий все необходимое для отрисовки циферблата.

Средство визуализации объединяет 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
   
}
}
,

После настройки проекта и добавления класса, реализующего службу циферблата, вы можете приступить к написанию кода для инициализации и рисования собственного циферблата.

Каждый циферблат создает собственный подкласс средства визуализации, реализующий все необходимое для отрисовки циферблата.

Средство визуализации объединяет 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
   
}
}