如何在Compose Android Studio中像在XML中一样折叠/展开小部件代码区域

w8rqjzmb  于 2022-12-02  发布在  Android
关注(0)|答案(2)|浏览(168)

我有很多可组合的代码,我想把可组合的代码像xml一样折叠起来。有扩展吗?

vc6uscn9

vc6uscn91#

你的文章标题有点误导,但我认为你是在问如何折叠/展开“代码”,而不是实际的小部件/用户界面。
我不确定这是否正是您想要的,但是如果您将代码 Package 在region/endregion中,您可以展开/折叠代码的特定区域,而不需要任何插件或配置,这与您期望从xml编辑器获得的行为几乎相同,并且您可以在任何地方执行此操作,而不仅仅是对函数。
扩展代码区

折叠代码区域

样本内部可组合扩展

样品内部可组合折叠

x1c4d 1x指令集

avwztpqn

avwztpqn2#

如果您希望在不显示动画的情况下折叠或展开Column,只需添加一个if语句,并设置true以显示false来折叠
通过记住{ mutableStateOf(true)}使变量可见

Column(modifier = Modifier.fillMaxSize()) {

    Text("Click to expand or collapse", modifier = Modifier
        .fillMaxWidth()
        .clickable {
            visible = !visible
        }
    )
    if(visible) {
      // Content to be collapsed or displayed
    }
}

如果您希望折叠或展开动画,您可以 checkout AnimatedVisbility composable

var visible by remember {
    mutableStateOf(true)
}

Column(modifier = Modifier.fillMaxSize()) {

    Text("Click to expand or collapse", modifier = Modifier
        .fillMaxWidth()
        .clickable {
            visible = !visible
        }
    )
    AnimatedVisibility(visible = visible) {
        Column {
          // Content to be collapsed or displayed
        }
    }
}

相关问题