fengdai
05/19/2022, 5:10 AMBen Trengrove [G]
05/19/2022, 5:18 AMModifier.clipToBounds()
or get fancy with Modifier.clip(CircleShape)
fengdai
05/19/2022, 5:30 AMBox(
modifier = Modifier.fillMaxSize()
) {
Text(
text = "Very Loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong",
modifier = Modifier.width(1000.dp),
fontSize = 38.sp
)
}
Box(
modifier = Modifier.fillMaxSize()
.wrapContentWidth(unbounded = true)
) {
Text(
text = "Very Loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong",
modifier = Modifier.width(1000.dp),
fontSize = 38.sp
)
}
Tobias Suchalla
05/19/2022, 5:51 AMimport androidx.compose.foundation.border
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.size
import androidx.compose.material.Text
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clipToBounds
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.layout
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.singleWindowApplication
fun main() = singleWindowApplication {
Box(
modifier = Modifier
.size(100.dp, 100.dp)
.border(Dp.Hairline, Color.Black)
.clipToBounds(),
contentAlignment = Alignment.Center
) {
Text(
text = "Loooooooooooooooooooooooong",
modifier = Modifier.withoutWidthConstraints()
)
}
}
// <https://github.com/JetBrains/compose-jb/blob/master/examples/widgets-gallery/common/src/commonMain/kotlin/org/jetbrains/compose/demo/widgets/ui/utils/LayoutModifiers.kt>
fun Modifier.withoutWidthConstraints() = layout { measurable, constraints ->
val placeable = measurable.measure(constraints.copy(maxWidth = Int.MAX_VALUE))
layout(constraints.maxWidth, placeable.height) {
placeable.place(0, 0)
}
}
It does feel somewhat hacky, though :Dfengdai
05/19/2022, 5:57 AMAdam Powell
05/19/2022, 1:15 PM