小编Sue*_*e97的帖子

“=记住”和“通过记住”有什么区别?

我发现有两种使用Remember API声明变量的方法。

第一个是:

@Composable
fun abc() {
    var aa = remember { mutableStateOf(true) }
}
Run Code Online (Sandbox Code Playgroud)

第二个是:

@Composable
fun abc() {
    var aa by remember { mutableStateOf(true) }
}
Run Code Online (Sandbox Code Playgroud)

两者之间有功能上的区别吗?或者它们只是为了方便?

android kotlin android-jetpack-compose

54
推荐指数
3
解决办法
2万
查看次数

为什么使用“密封类”并在导航中创建对象?(Kotlin Jetpack 撰写)

我听说定义屏幕和路由的最流行的方法是使用密封类
,但我无法直观地理解这种方式。

首先是为什么使用密封类。还有其他类,包括默认类。

第二个问题是为什么在密封类中使用对象。
我认为第二个问题与单身人士有关。但为什么 screen 应该是单例呢?

这是我所看到的代码

sealed class Screen(val route: String) {
    object Home: Screen(route = "home_screen")
    object Detail: Screen(route = "detail_screen")
}
Run Code Online (Sandbox Code Playgroud)

kotlin android-navigation android-jetpack-compose

11
推荐指数
1
解决办法
3900
查看次数

为什么在 ViewModel 中使用“mutableStateOf”而不是“remember”?

在 ViewModel 中,remember不使用,但mutable...使用:

class CustomViewModel : ViewModel() {
    // ...
    var myDeckList = mutableStateListOf<Deck>()
    // ...
}
Run Code Online (Sandbox Code Playgroud)

是否ViewModel有类似于remember规定的委托责任?

如果是这样,为什么mutable...不委托?

android kotlin android-jetpack-compose

3
推荐指数
1
解决办法
3550
查看次数

“修饰符”和“修饰符”有什么区别(Kotlin Android、Jetpack Compose)

代码参考:https://www.youtube.com/watch?v =Kw4_i4l5y4s&ab_channel=PhilippLackner

我对此代码有两个问题

@Composable
fun ProfileSection(
    modifier: Modifier = Modifier
) {
    Column(modifier = Modifier.fillMaxWidth()) {
        Row(
            verticalAlignment = Alignment.CenterVertically,
            modifier = Modifier
                .fillMaxWidth()
                .padding(horizontal = 20.dp)
        ){
            RoundImage(
                image = painterResource(id = R.drawable.messi1),
                modifier = Modifier
                    .size(100.dp)
                    .weight(3f)
            )
            Spacer(modifier = Modifier.width(16.dp))
            StatSection(modifier = Modifier.weight(7f))
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

[第3行]首先是为什么使用'modifier: Modifier = Modifier'?它究竟有何作用?

[第5行]第二个是“m”修饰符和“M”修饰符有什么区别?当将修饰符更改为修饰符时,不会出现代码错误(红色下划线)。结果不是我想要的。

android android-jetpack android-jetpack-compose

2
推荐指数
1
解决办法
1196
查看次数