Tolriq
04/02/2023, 6:44 PMBox(Modifier.fillMaxWidth()) {
Text(
text = "a very very long very very long very very long very very long very very long very very long text",
maxLines = 1,
overflow = TextOverflow.Ellipsis,
style = MaterialTheme.typography.bodyLarge,
textAlign = TextAlign.Center,
modifier = Modifier
.padding(horizontal = 16.dp, vertical = 4.dp),
color = MaterialTheme.colorScheme.onBackground,
)
}
Will have the text move to the right continuously on each recomposition. Removing the padding fix the issue. Not sure I understand the relation between them.Tolriq
04/02/2023, 6:45 PMStylianos Gakis
04/02/2023, 7:44 PMTolriq
04/03/2023, 6:44 AMTolriq
04/03/2023, 6:45 AMStylianos Gakis
04/03/2023, 7:18 AMTolriq
04/03/2023, 7:19 AMTolriq
04/03/2023, 7:19 AMfun PlayerLayout(
modifier: Modifier = Modifier,
albumArt: @Composable BoxScope.() -> Unit,
controls: @Composable ColumnScope.() -> Unit,
) {
Layout(
modifier = modifier,
contents = listOf(
{
Box(
modifier = Modifier
.fillMaxWidth(),
content = albumArt,
)
},
{
Column(
modifier = Modifier
.fillMaxWidth(),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.SpaceBetween,
content = controls,
)
},
),
) { (albumArtMeasurables, controlsMeasurables), constraints ->
val albumArt = albumArtMeasurables.single()
val controls = controlsMeasurables.single()
val maxWidth = constraints.maxWidth
val maxHeight = constraints.maxHeight
val controlsIntrinsicHeight = controls.minIntrinsicHeight(maxWidth)
val albumArtPlaceable: Placeable = albumArt.measure(Constraints(minWidth = 0, maxWidth = maxWidth, minHeight = 0, maxHeight = (maxHeight - controlsIntrinsicHeight).coerceAtLeast(0)))
val controlsPlaceable = controls.measure(
Constraints(
minWidth = 0,
maxWidth = maxWidth,
minHeight = 0,
maxHeight = (maxHeight - albumArtPlaceable.measuredHeight).coerceAtLeast(0),
),
)
layout(constraints.maxWidth, constraints.maxHeight) {
albumArtPlaceable.placeRelative(0, 0)
controlsPlaceable.placeRelative(0, albumArtPlaceable.height)
}
}
}
Tolriq
04/03/2023, 7:20 AMSiyamed
04/03/2023, 1:54 PMSiyamed
04/03/2023, 1:54 PMTolriq
04/03/2023, 3:11 PMTolriq
04/03/2023, 3:12 PMTolriq
04/03/2023, 3:13 PM