0

在 iOS 上,点击状态栏会使 PrimaryScrollController 转到顶部: https ://flutter.dev/docs/resources/platform-adaptations#return-to-top

在 iOS 上,点击 OS 状态栏会将主滚动控制器滚动到顶部位置。Android 上没有等效的行为。

我的 PrimaryScrollController 使用 附加到 ListView reverse:true,因此点击状态栏使其滚动到底部。

文档说 PrimaryScrollView 处理 ScrollAction 如果不由另一个滚动控制器处理。 https://api.flutter.dev/flutter/widgets/PrimaryScrollController-class.html

如果 ScrollAction 没有由应用程序的其他焦点部分处理,则 ScrollAction 将使用与 PrimaryScrollController 关联的滚动视图进行评估

我如何自己处理滚动操作,以便在点击状态栏时反转 PrimaryScrollController 的方向?

4

1 回答 1

0

完成此操作的最简单方法可能是反转列表中的项目,而不是使用reverse: trueListView 的标志。

例如:

ListView(
  children: [
    Container(),
    Container(),
  ].reversed.toList(),
),

试图以任何其他方式解决这个问题会非常复杂。由于我们无权访问 StatusBar,我们无法覆盖它的行为或监听它的点击。

于 2021-04-22T21:46:57.130 回答