Ink API มีโมดูลความสามารถในการทำงานร่วมกันของ Compose สำหรับการเขียน แปรง และรูปทรง เพื่อช่วยให้คุณเขียนลายเส้นในลักษณะเฉพาะของ Compose
หากต้องการวาดเส้นใน Compose ให้ใช้ Composable InProgressStrokes ซึ่งต้องมี
อินสแตนซ์แปรงเริ่มต้น วิธีลบล้างแปรงเริ่มต้น และการเรียกกลับ
ที่จัดการเส้นที่วาดเสร็จแล้ว
ตั้งค่าคอมโพเนนต์ UI
InProgressStrokes( defaultBrush = currentBrush, nextBrush = onGetNextBrush, onStrokesFinished = onStrokesFinished, )จัดการเส้นที่วาดเสร็จแล้ว
เมื่อเส้นเปียกแห้งแล้ว ระบบจะส่งไปยังแอปพลิเคชันผ่าน
onStrokesFinishedอาร์กิวเมนต์การเรียกกลับของInProgressStrokesแอปของคุณต้องส่งเส้นที่วาดเสร็จแล้วไปยัง Composable อื่นภายใน UI เธรดเดียวกันเพื่อส่งไปยังหน้าจอ
@Composable fun DrawingScreen( finishedStrokes: List<Strokes>, onStrokesFinished: (List<Stroke>) -> Unit, currentBrush: Brush, onGetNextBrush: () -> Brush, modifier: Modifier = Modifier ) { val canvasStrokeRenderer = remember { CanvasStrokeRenderer.create() } Box(modifier = Modifier.fillMaxSize()) { // The Canvas for drawing the permanent, dry strokes. Canvas(modifier = Modifier.fillMaxSize()) { finishedStrokes.forEach { stroke -> canvasStrokeRenderer.draw( stroke = stroke, canvas = this, strokeToScreenTransform = Matrix() ) } } //The wet ink layer for live drawing. // The InProgressStrokes composable for the wet ink layer goes here. } }