Jetpack Compose Material3中rememberDismissState引用未解决求助
解决"Unresolved reference: rememberDismissState"问题
出现该错误的核心原因是依赖配置、导入语句或版本兼容问题,以下是具体解决步骤:
1. 确认Material3依赖版本
在Module级的build.gradle(或build.gradle.kts)文件中,确保引入的Material3版本满足要求(建议使用1.1.0及以上稳定版),示例配置如下:
dependencies { // 替换为项目适配的最新Material3稳定版 implementation("androidx.compose.material3:material3:1.2.0") }
2. 添加缺失的导入语句
rememberDismissState属于androidx.compose.material3包下的Experimental API,需要在代码顶部补充导入:
import androidx.compose.material3.rememberDismissState
3. 同步并重建项目
完成上述操作后,点击Android Studio右上角的Sync Now同步Gradle依赖,再依次执行Build -> Clean Project和Build -> Rebuild Project,确保依赖正确加载。
修改后的完整代码
import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.EnterTransition import androidx.compose.animation.ExitTransition import androidx.compose.animation.expandVertically import androidx.compose.animation.shrinkVertically import androidx.compose.material3.DismissDirection import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.SwipeToDismiss import androidx.compose.material3.rememberDismissState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.Dp @OptIn(ExperimentalMaterial3Api::class) @Composable fun SwipeToDisMissItem( modifier: Modifier = Modifier, directions: Set<DismissDirection> = setOf(DismissDirection.EndToStart), enter: EnterTransition = expandVertically(), exit: ExitTransition = shrinkVertically(), background: @Composable (offset: Dp) -> Unit, content: @Composable (isDismissed: Boolean) -> Unit ) { val dismissState = rememberDismissState() val isDismissed = dismissState.isDismissed(DismissDirection.EndToStart) val offset = with(LocalDensity.current) { dismissState.progress.toDp() } AnimatedVisibility( visible = !isDismissed, modifier = modifier, enter = enter, exit = exit ) { SwipeToDismiss( state = dismissState, background = { background(offset) }, dismissContent = { content(isDismissed) }) } }
内容的提问来源于stack exchange,提问作者Sakshi Garg
相关产品推荐
相关产品推荐

