ウォッチフェイスを描画する

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

プロジェクトを構成し、ウォッチフェイス サービスを実装するクラスを追加すると、カスタムのウォッチフェイスの初期化と描画を行うコードを作成できるようになります。

どのウォッチフェイスでも、ウォッチフェイスの描画に必要なものがすべて実装される、レンダラのカスタム サブクラスを作成します。

レンダラは、次の例に示すように、UserStyleComplicationSlotsManager によるウォッチフェイスの追加機能の情報、現在の時刻、その他の状態情報を組み合わせてウォッチフェイスをレンダリングします。

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