声明这样的Box会导致编译错误
Box(modifier = Modifier
.fillMaxWidth()
.align(Alignment.Center)) {
Text(text = "Hello")
}align的导入如下所示
import androidx.compose.foundation.layout.BoxScopeInstance.align错误
Cannot access 'BoxScopeInstance': it is internal in 'androidx.compose.foundation.layout'撰写版本= 1.1.1
Kotlin版本= 1.6.10
安卓演播室版本=安卓工作室电动鳗鱼2022.1.1金丝雀2
发布于 2022-05-26 21:38:00
align应该从Box的内容中调用。
Box(
modifier = Modifier.fillMaxWidth()
) {
Text(
modifier = Modifier.align(Alignment.Center),
text = "foobar"
)
}交替使用contentAlignment
Box(
modifier = Modifier.fillMaxWidth(),
contentAlignment = Alignment.Center
) {
Text(
text = "foobar"
)
}发布于 2022-05-27 14:02:29
modifier.align()方法只能在Box、Column、Row布局作用域中使用。
例如,类似这样的东西。
Column(modifier = Modifier.fillMaxWidth()) {
Text("Hello")
Text("World", modifier = Modifier.align(Alignment.CenterHorizontally))
Row(Modifier.align(Alignment.End)) {
Icon(....)
}
}在Column中使用对齐只能设置其属性为Alignment.Horizontal的对齐,例如CenterHorizontally、Start、End。
在Row中使用对齐只能设置其属性为Alignment.Vertical的对齐,例如CenterVertically顶部、底部。
在Box中使用对齐设置Alignment.Vertical和Alignment.Horizontal以外的对齐方式,例如TopStart、TopCenter、TopEnd、Center、BottomStart、BottomCenter、BottomEnd。
https://stackoverflow.com/questions/72398096
复制相似问题