【发布时间】:2022-07-19 16:44:02
【问题描述】:
我正在尝试使ImageComposable 根据其内容包装其高度和宽度,以及两个Text 可组合,与Assemble 可组合的底部对齐。以下是代码:
@Composable
fun ImageComposable(url:String){
val painter = rememberAsyncImagePainter(
model = ImageRequest.Builder(LocalContext.current).data(url).apply{
placeholder(drawableResId = R.drawable.ic_broken_pic)
}.build()
)
Image(painter = painter, contentDescription = null, Modifier.padding(2.dp).border(width = 2.dp, shape = CircleShape, color = MaterialTheme.colors.onPrimary)
}
@Composable
fun Assemble(url:String){
Column (modifier = Modifier.fillMaxWidth().height(400.dp).background(MaterialTheme.colors.primary)
.padding(16.dp), verticalArrangement = Arrangement.Bottom) {
ImageComposable(url)
Text(text = "title")
Text(text = "Body")
}
}
但是ImageComposable 最终占据了Assemble 可组合项的所有高度和宽度,我无法看到我在column 中添加的两个Text 组合项。所以我很困惑这里的确切问题是什么。我认为至少它应该显示 ImageComposable 以及两个 Text 可组合但它没有发生。
我在这里使用coil 图像加载库来解析来自 url 的图像。目前在测试中,我将 url 作为Empty String 传递。因此,我称可组合为:Assemble("")
我没有找到任何可以帮助我理解这种行为的文档。所以我想知道这个问题的原因以及克服它的可能解决方案。
【问题讨论】:
标签: android kotlin android-jetpack-compose