From 84c3dd53bb8bb2c9fbb5f9871a422bc4e51f1034 Mon Sep 17 00:00:00 2001 From: CXwudi Date: Tue, 12 Dec 2023 23:33:43 -0500 Subject: [PATCH] :memo: doc --- .../kotlin/mikufan/cx/songfinder/ui/common/CustomLayout.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/songfinder-app/src/main/kotlin/mikufan/cx/songfinder/ui/common/CustomLayout.kt b/songfinder-app/src/main/kotlin/mikufan/cx/songfinder/ui/common/CustomLayout.kt index 449daee..7a75577 100644 --- a/songfinder-app/src/main/kotlin/mikufan/cx/songfinder/ui/common/CustomLayout.kt +++ b/songfinder-app/src/main/kotlin/mikufan/cx/songfinder/ui/common/CustomLayout.kt @@ -5,12 +5,17 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.layout.SubcomposeLayout +/** + * Column with specialized spacing for the first item using [SubcomposeLayout] + */ @Composable fun ColumnThatResizesFirstItem( modifier: Modifier = Modifier, spacing: Int = 0, content: @Composable () -> Unit ) { + // see https://foso.github.io/Jetpack-Compose-Playground/ui/layout/subcomposelayout/ + // and https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/package-summary#SubcomposeLayout(androidx.compose.ui.Modifier,kotlin.Function2) SubcomposeLayout(modifier = modifier) { constraints -> val placeables = subcompose(ColumnItem.Main, content).map { it.measure(constraints.copy(minHeight = 0, minWidth = 0))