Ink API, fırça darbelerini deyimsel bir Compose tarzında oluşturmanıza yardımcı olmak için oluşturma, fırça ve geometriye yönelik Compose birlikte çalışabilirlik modülleri sağlar.
Compose'da bir fırça darbesi çizmek için varsayılan fırça örneği, varsayılan fırçayı geçersiz kılma yöntemi ve biten fırça darbelerini işleyen bir geri çağırma gerektiren InProgressStrokes composable'ını kullanın.
Kullanıcı arayüzü bileşenini ayarlama
InProgressStrokes( defaultBrush = currentBrush, nextBrush = onGetNextBrush, onStrokesFinished = onStrokesFinished, )Bitmiş vuruşları işleme
Islak vuruşlar kuruduğunda
InProgressStrokesişlevininonStrokesFinishedgeri çağırma bağımsız değişkeni aracılığıyla uygulamaya iletilir.Uygulamanız, bitmiş vuruşları ekrana aktarmak için aynı kullanıcı arayüzü iş parçacığındaki başka bir Composable'a iletmelidir.
@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. } }