আপনার প্রজেক্ট কনফিগার করার পর এবং ওয়াচ ফেস সার্ভিস ইমপ্লিমেন্ট করে এমন একটি ক্লাস যোগ করার পরে, আপনি আপনার কাস্টম ওয়াচ ফেস ইনিশিয়ালাইজ ও ড্র করার জন্য কোড লেখা শুরু করতে পারেন।
প্রতিটি ওয়াচ ফেস একটি রেন্ডারারের কাস্টম সাবক্লাস তৈরি করে, যা ওয়াচ ফেসটি আঁকার জন্য প্রয়োজনীয় সবকিছু বাস্তবায়ন করে।
রেন্ডারারটি 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
}
}