mohamed rejeb
TextMeasurer
measure
LaunchedEffect
Dispatchers.Default
Halil Ozercan
@Composable fun DrawTextMeasure() { val textMeasurer = rememberTextMeasurer() val textLayoutResult by produceState<TextLayoutResult?>(initialValue = null) { withContext(Dispatchers.Default) { println("TextMeasurer; running thread ${Thread.currentThread().id}") delay(5000) println("TextMeasurer; calculating thread ${Thread.currentThread().id}") value = textMeasurer.measure("Hello, World!") } } Canvas(Modifier.fillMaxWidth().height(100.dp)) { val padding = 16.dp.toPx() textLayoutResult?.let { drawText(it, topLeft = Offset(padding, padding)) } } }
produceState
A modern programming language that makes developers happier.