github urbanescavenger/BiliMT v3.1.1-alpha.16

latest release: v3.1.1
pre-release4 hours ago

移动端下拉刷新误触:下滑甩回顶部就自动刷新(P11-270)。

变更

  • 现象:移动端历史页往下滑(把列表甩回顶部)就会触发刷新,而不是列表到顶后再按住下拉才刷新。
  • 根因:所有移动端页面共用的 PullToRefreshLayout 在 onPostScroll 里没有区分滚动来源。Compose
    的惯性 fling 以 NestedScrollSource.SideEffect 派发增量,下滑甩回顶部后列表消费不完的剩余增量也被
    累加成下拉距离,松手时一过 160dp 阈值就刷新。另有一个次要问题:下拉过半再推回去,松手仍按最大
    距离触发。
  • 改动:①只累加 NestedScrollSource.UserInput 的下拉余量,惯性余量不再计入(对齐 material3
    PullToRefresh 只响应 UserInput);②新增 onPreScroll:用户上滑时先把已有下拉量退回,退回部分才
    消费,平时上滑滚动列表不受影响;③阈值、最大拉动距离、触发时机均未改。
  • 真机判据:历史页下滑甩到顶后不自动刷新,到顶后再次按住下拉越过阈值才刷新;下拉后松手前推回去
    不刷新;首页/动态/收藏/追番/UP 页等复用同一容器的页面行为一致。

Don't miss a new BiliMT release

NewReleases is sending notifications on new releases.