@@ -12,9 +12,14 @@ import androidx.compose.foundation.layout.size
1212import androidx.compose.material.Icon
1313import androidx.compose.runtime.Composable
1414import androidx.compose.runtime.getValue
15+ import androidx.compose.runtime.mutableStateOf
16+ import androidx.compose.runtime.remember
17+ import androidx.compose.runtime.setValue
1518import androidx.compose.ui.Alignment
1619import androidx.compose.ui.Modifier
1720import androidx.compose.ui.input.pointer.pointerInput
21+ import androidx.compose.ui.layout.onSizeChanged
22+ import androidx.compose.ui.platform.LocalDensity
1823import androidx.compose.ui.platform.LocalFocusManager
1924import androidx.compose.ui.res.painterResource
2025import androidx.compose.ui.tooling.preview.Preview
@@ -41,6 +46,7 @@ fun AgencyRegisterScreen(
4146) {
4247 val state by viewModel.collectAsState()
4348 val focusManager = LocalFocusManager .current
49+ val density = LocalDensity .current
4450
4551 viewModel.collectSideEffect {
4652 when (it) {
@@ -93,14 +99,26 @@ fun AgencyRegisterScreen(
9399 contentDescription = null
94100 )
95101 Spacer (modifier = Modifier .height(8 .dp))
102+
103+ var contentHeight by remember { mutableStateOf(0 .dp) }
104+ val contentModifier = if (contentHeight == 0 .dp) Modifier .weight(1f ) else Modifier
96105 AgencyResisterContentView (
97- modifier = Modifier .weight(1f ),
106+ modifier = contentModifier
107+ .onSizeChanged {
108+ if (contentHeight == 0 .dp) {
109+ with (density) {
110+ contentHeight = it.height.toDp()
111+ }
112+ }
113+ }
114+ .height(contentHeight),
98115 agencyType = state.agencyType,
99116 onAgencyTypeChange = viewModel::changeAgencyType,
100117 agencyName = state.agencyName,
101118 onAgencyNameChange = viewModel::changeAgencyName,
102119 changeNameTextFieldIsError = viewModel::changeNameTextFieldIsError,
103120 )
121+
104122 val canRegister = state.agencyName.text.isNotEmpty() && state.nameTextFieldIsError.not ()
105123 MDSButton (
106124 modifier = Modifier
0 commit comments