You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jetpack Compose中View.INVISIBLE的替代实现方案咨询

Jetpack Compose 中对应 View.INVISIBLE 的替代方案

在Android XML布局里,View.INVISIBLE的作用是隐藏视图但保留它在布局中占用的空间。在Jetpack Compose里,直接对应的实现是使用Modifier.visibility(Visibility.Invisible),示例代码如下:

Button(
    onClick = {},
    modifier = Modifier.visibility(Visibility.Invisible)
) {
    Text("隐藏但仍占布局空间的按钮")
}

关于你给出的 AnimatedVisibility 代码

默认情况下,AnimatedVisibility的行为更接近XML里的View.GONE——隐藏视图时会将其从布局中移除,不再占用空间。如果想用它实现和View.INVISIBLE一致的效果,需要开启maintainSpaceWhenHidden = true,同时搭配透明度类的进入/退出动画:

AnimatedVisibility(
    visible = false,
    enter = fadeIn(),
    exit = fadeOut(),
    maintainSpaceWhenHidden = true
) {
    Button(onClick = {}) {
        Text("带淡入淡出动画的隐藏按钮(保留布局空间)")
    }
}

通过maintainSpaceWhenHidden = true设置,视图在隐藏状态下会继续占据布局空间,加上透明度动画就完全匹配View.INVISIBLE的表现了。

内容的提问来源于stack exchange,提问作者Compose Learner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 01:15:31