Flutter 处理滚动动作PrimaryScrollController 反向列表视图

问题描述

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

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

我的 PrimaryScrollController 通过 +/-HH:mm 附加到 ListView,因此点击状态栏使其滚动到底部

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

如果 ScrollAction 不是由应用程序的其他重点部分处理,则将使用与 PrimaryScrollController 关联的滚动视图评估 ScrollAction

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

解决方法

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

例如:

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...