В чем разница между модификатором.ширина(внутренний размер.Мин/Макс) и модификатор.wrapContentWidth?

#android #kotlin

Вопрос:

Когда я использую XML и использую параметр wrap_content, мне ясно, какова его цель, содержимое родительского элемента настраивается на то, что содержит дочерний элемент, но я вижу, что в Compose это не совсем так.

 Surface(  Modifier  .fillMaxWidth()  .height(IntrinsicSize.Min)  .clip(RoundedCornerShape(topStartPercent = 8, topEndPercent = 8))  .constrainAs(surface) {  bottom.linkTo(parent.bottom)  },  color = Color.White  ) {  Column(  Modifier.fillMaxSize(),  verticalArrangement = Arrangement.Center  )  }  

В этом случае он действует так, как мы знаем wrap_content в XML, родительский элемент соответствует содержимому дочернего элемента и, таким образом, задает его высоту. Но:

 Surface(  Modifier  .fillMaxWidth()  .wrapContentHeight  .clip(RoundedCornerShape(topStartPercent = 8, topEndPercent = 8))  .constrainAs(surface) {  bottom.linkTo(parent.bottom)  },  color = Color.White  ) {  Column(  Modifier.fillMaxSize(),  verticalArrangement = Arrangement.Center  )  }  

В этом случае происходит то, что родительский контейнер (в данном случае Поверхность) занимает всю высоту экрана, почему это происходит и в чем разница?