jenly1314/UltraSwipeRefresh

1.2.0崩溃

qiushui95 opened this issue · 6 comments

从1.1.3升级到1.2.0 app崩溃,项目中使用的compose版本为1.6.8.
实测将您的compose_bom更新为2024.06.00,demo也会崩溃。
应该是compose从1.5到1.6版本,将OverscrollConfiguration.kt 更名为OverscrollConfiguration.android.kt引起的,也就是1.2.0新增的contentContainer属性引起的崩溃

你可以通过修改全局配置来暂时解决此问题;配置示例:

UltraSwipeRefreshTheme.config = UltraSwipeRefreshTheme.config.copy(
    contentContainer = { it() },
)

我已经回退版本了,等你发1.2.1

我已经回退版本了,等你发1.2.1

不用回退,1.1.x版本在某些场景下会有其他问题,提供全局配置就是为了便于管理,就按我上面说的方式修改全局配置即可。(建议在ApplicationonCreate中调用)

从1.1.3升级到1.2.0 app崩溃,项目中使用的compose版本为1.6.8. 实测将您的compose_bom更新为2024.06.00,demo也会崩溃。 应该是compose从1.5到1.6版本,将OverscrollConfiguration.kt 更名为OverscrollConfiguration.android.kt引起的,也就是1.2.0新增的contentContainer属性引起的崩溃

重新详细的答复下这个问题,你可修改全局配置为与v1.2.0版本预期一致的配置

UltraSwipeRefreshTheme.config = UltraSwipeRefreshTheme.config.copy(
    contentContainer = { NoOverscrollEffect(it) },
)

关于NoOverscrollEffect具体可查看:NoOverscrollEffect

@Composable
@OptIn(ExperimentalFoundationApi::class)
private fun NoOverscrollEffect(content: @Composable () -> Unit) {
    CompositionLocalProvider(LocalOverscrollConfiguration provides null, content = content)
}

关于NoOverscrollEffect 存在的缘由可查看 #7

已通过更新compose至v1.6.0来解决此问题;如需验证或优先使用可参见 待发布版本

好的