子Column无法占满父Column可用空间,求解决方法
解决Jetpack Compose子Column无法填满父Column的问题
问题代码
Column( modifier = Modifier.fillMaxSize().background(Color.Green) ) { Column( modifier = Modifier.fillMaxSize().background(Color.Red) ) {} }
问题原因
子Column为空时,即便设置了fillMaxSize(),Compose的Column默认会依据子项的固有尺寸布局,空Column的固有高度为0,因此不会占据父Column的空间。
解决思路
给子Column添加weight(1f)修饰符,让它占据父Column的全部可用空间:
Column( modifier = Modifier.fillMaxSize().background(Color.Green) ) { Column( modifier = Modifier.weight(1f).fillMaxSize().background(Color.Red) ) {} }
weight(1f)会让子Column优先占据父布局的剩余空间,配合fillMaxSize()就能确保它填满父Column的全部区域。
内容的提问来源于stack exchange,提问作者Fouad Magdy
相关产品推荐
相关产品推荐

