今天更新到 Jetpack Compose a-08 并遇到问题。在以前的版本中我使用了权重修改器,但现在我找不到它。发生了什么或者有什么替代方案?在变更日志中我没有发现任何有关它的信息。
您仍然可以在那里找到它,但是权重修改器是
RowScope
和ColumnScope
内部的扩展函数,这意味着您只能在Column
或Row
内部使用它。
RowScope 参考:https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/RowScope#weight
对 ColumnScope 的参考:https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/ColumnScope#weight
您不能在可组合函数中使用权重,但您仍然可以直接在 setContent 中使用它。这是一个例子:-
这个
setContent {
val navController = rememberNavController()
LaunchedEffect(key1 = Unit){
if(googleAuthUiClient.getSignInUser() != null){
Log.d("MainApplication", "User is signed in")
}else {
startActivity(Intent(applicationContext, MainActivity::class.java))
}
}
Column (modifier = Modifier.fillMaxSize().background(color = Color.White)) {
Box(modifier = Modifier
.fillMaxWidth()
.weight(9f)
.background(color = Color.Blue)) {
Text(text = "Task List")
}
Box(modifier = Modifier
.fillMaxWidth()
.weight(1f)
.background(color = Color.Red)) {
Row (
modifier = Modifier
) {
Text(text = "Home", modifier = Modifier.padding(16.dp))
Text(text = "Profile", modifier = Modifier.padding(16.dp))
}
}
TaskList(userData = googleAuthUiClient.getSignInUser())
}
}