重量在哪里(在喷气背包中)?

问题描述 投票:0回答:2

今天更新到 Jetpack Compose a-08 并遇到问题。在以前的版本中我使用了权重修改器,但现在我找不到它。发生了什么或者有什么替代方案?在变更日志中我没有发现任何有关它的信息。

android kotlin android-jetpack-compose
2个回答
16
投票

您仍然可以在那里找到它,但是权重修改器是

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


0
投票

您不能在可组合函数中使用权重,但您仍然可以直接在 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())
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.