Kulwinder Singh
05/20/2021, 11:04 AMKulwinder Singh
05/20/2021, 11:08 AM@Composable
fun TicketCard() {
Box(
modifier = Modifier.fillMaxSize(),
) {
....background...
Box(
modifier = Modifier
.padding(bottom = 300.dp)
.size(100.dp)
.background(Color.Red)
.align(Alignment.BottomCenter)
) {
}
}
}
This is current implementationjoney
05/20/2021, 11:15 AMConstraintLayout
👉 https://github.com/vinaygaba/Learn-Jetpack-Compose-By-Example/blob/master/app/src/main/java/com/example/jetpackcompose/layout/ConstraintLayoutActivity.kt#L192nitrog42
05/20/2021, 11:25 AMKulwinder Singh
05/20/2021, 11:35 AMKulwinder Singh
05/20/2021, 11:36 AMnitrog42
05/20/2021, 11:36 AMnitrog42
05/20/2021, 11:36 AM@Composable
fun TicketCard() {
Box(
modifier = Modifier.fillMaxSize(),
) {
Box(
modifier = Modifier
.offsetPercent(0.70f)
.size(100.dp)
.background(Color.Red)
) {
}
}
}
private fun Modifier.offsetPercent(vertical: Float) = this.then(OffsetModifier(vertical))
private class OffsetModifier(
val vertical: Float
) : LayoutModifier {
override fun MeasureScope.measure(
measurable: Measurable,
constraints: Constraints
): MeasureResult {
val placeable = measurable.measure(constraints)
return layout(placeable.width, placeable.height) {
placeable.placeRelative(0, (constraints.maxHeight * vertical).roundToInt())
}
}
}
nitrog42
05/20/2021, 11:37 AMnitrog42
05/20/2021, 12:10 PMmodifier = Modifier
.align(Alignment.BottomCenter)
.offsetPercent(-0.30f)
.size(100.dp)
.background(Color.Red)
Kulwinder Singh
05/20/2021, 2:01 PMnitrog42
05/20/2021, 2:03 PMBox(
modifier = Modifier
.layout {
measurable, constraints ->
val placeable = measurable.measure(constraints)
return layout(placeable.width, placeable.height) {
placeable.placeRelative(0, (constraints.maxHeight * 0.7f).roundToInt())
}
}
.size(100.dp)
.background(Color.Red)
) {
}
Kulwinder Singh
05/20/2021, 2:23 PMnitrog42
05/20/2021, 2:24 PMCicero
05/21/2021, 8:00 AMKulwinder Singh
05/21/2021, 8:48 AMConstraintLayout