Grigorii Yurkov
10/27/2020, 7:47 PMText(
text = money,
modifier = Modifier
.weight(.3f)
.wrapContentWidth(Alignment.End)
.wrapContentHeight(Alignment.CenterVertically),
fontSize = 12.sp
)
alorma
10/27/2020, 7:48 PMRow
and use verticalAlignement
Grigorii Yurkov
10/27/2020, 7:51 PMSiyamed
10/27/2020, 7:51 PMP.J.
10/27/2020, 8:30 PMSiyamed
10/27/2020, 8:58 PMP.J.
10/27/2020, 9:04 PMSiyamed
10/27/2020, 9:35 PMZach Klippenstein (he/him) [MOD]
10/27/2020, 10:40 PMSiyamed
10/27/2020, 10:40 PMZach Klippenstein (he/him) [MOD]
10/27/2020, 10:45 PMSiyamed
10/27/2020, 10:46 PMZach Klippenstein (he/him) [MOD]
10/27/2020, 11:10 PMText
the first frame to do this correctly. You can do that with FontMetrics
from the Android stdlib, but i don’t know if there’s a “pure” Compose way to do it.Siyamed
10/27/2020, 11:11 PMZach Klippenstein (he/him) [MOD]
10/27/2020, 11:18 PMText
, and writing a custom layout wouldn’t affect that. Unless you mean write a custom text layout somehow? Or are you thinking of just scaling the text composable itself without changing the font size?Siyamed
10/27/2020, 11:26 PM@Composable fun AutoText(text: String) {
var size: TextUnit by remember { mutableStateOf(100.sp) }
val textLayout: Ref<TextLayoutResult?> = remember { Ref() }
val children = @Composable {
Text(
text,
fontSize = size,
// Don't wrap since we're going to adjust the size to fit on one line.
maxLines = 1,
softwrap = true,
overflow = None,
onTextLayout = {
textLayout.value = it
}
)
}
Layout(
modifier = Modifier,
children = children,
measureBlock = { measurables, constraints ->
val childConstraints = constraints.copy(maxHeight = Constraints.Infinity)
val placeable = measurables.first().measure(childConstraints)
val myHeight = constraints.constrainHeight(textLayout.value.height)
val myWidth = constraints.constrainWidth(textLayout.value.width)
layout(myWidth, myHeight) {
placeable.placeRelative(0, 0)
}
}
}
Zach Klippenstein (he/him) [MOD]
10/27/2020, 11:29 PMclipToBounds
is used? Let me try itSiyamed
10/27/2020, 11:30 PMZach Klippenstein (he/him) [MOD]
10/27/2020, 11:37 PMSiyamed
10/27/2020, 11:38 PMZach Klippenstein (he/him) [MOD]
10/27/2020, 11:39 PMSiyamed
10/27/2020, 11:52 PMZach Klippenstein (he/him) [MOD]
10/27/2020, 11:52 PMSiyamed
10/27/2020, 11:53 PMZach Klippenstein (he/him) [MOD]
10/27/2020, 11:53 PMSiyamed
10/27/2020, 11:54 PMZach Klippenstein (he/him) [MOD]
10/27/2020, 11:55 PMSiyamed
10/27/2020, 11:55 PMZach Klippenstein (he/him) [MOD]
10/27/2020, 11:55 PMSiyamed
10/27/2020, 11:55 PMZach Klippenstein (he/him) [MOD]
10/27/2020, 11:55 PMSiyamed
10/27/2020, 11:56 PMZach Klippenstein (he/him) [MOD]
10/27/2020, 11:57 PMGrigorii Yurkov
10/29/2020, 1:31 PMSiyamed
10/30/2020, 4:29 AMMihai Popa
10/30/2020, 12:06 PMRow
and set verticalAlignment
if all elements should be centered, or apply Modifier.align()
on the elements that need centeringGrigorii Yurkov
10/30/2020, 12:39 PM