jenly1314 / UltraSwipeRefresh

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

刷新和加载中的时候,列表无法滚动 #5

Closed sceneren closed 3 months ago

sceneren commented 3 months ago

刷新和加载中的时候,列表无法滚动

jenly1314 commented 3 months ago

刷新和加载中的时候,列表无法滚动

特意这么设计的。这是问题?

sceneren commented 3 months ago

额,刷新和加载的时候时候,能不能可以滚动,如果加载数据的时间长了,卡着不动有点烦

jenly1314 commented 3 months ago

额,刷新和加载的时候时候,能不能可以滚动,如果加载数据的时间长了,卡着不动有点烦

刷新中能滚动也还是会显示刷新指示器,这并不能解决任何问题,反而会增加判定边界的复杂度。烦的并不是否能滚动,而是数据加载慢;但这本质上还是由你控制的刷新状态来决定。

yqz0203 commented 2 months ago

额,刷新和加载的时候时候,能不能可以滚动,如果加载数据的时间长了,卡着不动有点烦

刷新中能滚动也还是会显示刷新指示器,这并不能解决任何问题,反而会增加判定边界的复杂度。烦的并不是否能滚动,而是数据加载慢;但这本质上还是由你控制的刷新状态来决定。

能否提供一个开关呢?

jenly1314 commented 2 months ago

额,刷新和加载的时候时候,能不能可以滚动,如果加载数据的时间长了,卡着不动有点烦

刷新中能滚动也还是会显示刷新指示器,这并不能解决任何问题,反而会增加判定边界的复杂度。烦的并不是否能滚动,而是数据加载慢;但这本质上还是由你控制的刷新状态来决定。

能否提供一个开关呢?

为何会有这样的想法呢,如果在刷新中可以上下继续滚动,这样就会让Header和Footer的显示时机变得怪异。你若有空,可以fork后自己去改下试试,告诉你主要改动点:把 UltraSwipeRefreshNestedScrollConnection#L35 返回中的 available 改成 Offset.Zero, 这样在刷新或加载中就可以继续上下滚动了;(但可能会影响其它边界条件的判定,因为在UltraSwipeRefresh中很多状态都与滚动的偏移量有关联的)

jenly1314 commented 4 weeks ago

额,刷新和加载的时候时候,能不能可以滚动,如果加载数据的时间长了,卡着不动有点烦

刷新中能滚动也还是会显示刷新指示器,这并不能解决任何问题,反而会增加判定边界的复杂度。烦的并不是否能滚动,而是数据加载慢;但这本质上还是由你控制的刷新状态来决定。

能否提供一个开关呢?

为何会有这样的想法呢,如果在刷新中可以上下继续滚动,这样就会让Header和Footer的显示时机变得怪异。你若有空,可以fork后自己去改下试试,告诉你主要改动点:把 UltraSwipeRefreshNestedScrollConnection#L35 返回中的 available 改成 Offset.Zero, 这样在刷新或加载中就可以继续上下滚动了;(但可能会影响其它边界条件的判定,因为在UltraSwipeRefresh中很多状态都与滚动的偏移量有关联的)

发布的 v1.1.3 支持了此配置,不过此配置只是提供了更多的可选择性;比较适用于内容没有偏移的情况,即:滑动模式为:NestedScrollMode.FixedContentNestedScrollMode.FixedFront ;对于内容有偏移的情况,如果也启用此配置,在刷新中时继续滚动看起来有点怪怪的。