jenly1314 / UltraSwipeRefresh

:surfer: 一个可带来极致体验的Compose刷新组件;支持下拉刷新和上拉加载,可完美替代官方的SwipeRefresh;并且支持的功能更多,可扩展性更强。
MIT License
110 stars 5 forks source link

1.2.0崩溃 #13

Open qiushui95 opened 1 week ago

qiushui95 commented 1 week ago

从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属性引起的崩溃

jenly1314 commented 1 week ago

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

UltraSwipeRefreshTheme.config = UltraSwipeRefreshTheme.config.copy(
    contentContainer = { it() },
)
qiushui95 commented 1 week ago

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

jenly1314 commented 1 week ago

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

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

jenly1314 commented 1 week ago

从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

jenly1314 commented 1 week ago

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

qiushui95 commented 1 week ago

好的