android 删除Jetpack Compose中的LazyColumn overscroll效果

6yoyoihd  于 2023-04-28  发布在  Android
关注(0)|答案(2)|浏览(342)

我正在使用Jetpack Compose的1.1.0-alpha 05版本,我想知道是否有一种方法可以关闭LazyColumn的滚动效果,如xml(android:overScrollMode="never")?

goqiplq2

goqiplq21#

您可以通过提供LocalOverscrollConfiguration来禁用它:

CompositionLocalProvider(
    LocalOverscrollConfiguration provides null
) {
    LazyColumn(Modifier.fillMaxWidth()) {
        items(1000) {
            Text(it.toString())
        }
    }
}

您也可以将其构建到主题中,以便应用于整个应用程序:

@Composable
fun AppTheme(
    darkTheme: Boolean = isSystemInDarkTheme(),
    content: @Composable () -> Unit
) {
    val colors = if (darkTheme) {
        DarkThemeColors
    } else {
        LightThemeColors
    }
    MaterialTheme(
        colors = colors,
        typography = typography,
        shapes = shapes,
    ) {
        CompositionLocalProvider(
            LocalOverscrollConfiguration provides null,
            content = content
        )
    }
}

1.2.0-rc 01中的p.s.已将LocalOverScrollConfiguration重命名为LocalOverscrollConfiguration

4xrmg8kj

4xrmg8kj2#

对于嵌套了LazyColumn的用户:
要删除嵌套内容周围出现的难看的过度滚动效果,请不要忘记对其设置userScrollEnabled = false

相关问题