一尘不染

如何清除滚动发光?

flutter

默认情况下,扑增加一个发光效果ListView/ GridView/ ...Android手机上overscrolls

我想完全删除此效果或在一个特定的滚动条上删除此效果。我知道我可以ScrollPhysics在弹跳/钳位之间进行更改。但这实际上并不能消除发光效果。

我能做什么 ?


阅读 387

收藏
2020-08-29

共1个答案

一尘不染

光晕效果来自GlowingOverscrollIndicator 通过添加ScrollBehavior

要消除这种影响,您需要指定一个custom ScrollBehavior。为此,只需将应用程序的任何给定部分包装到ScrollConfiguration 具有所需的ScrollBehavior。

以下内容ScrollBehavior将完全消除发光效果:

class MyBehavior extends ScrollBehavior {
  @override
  Widget buildViewportChrome(
      BuildContext context, Widget child, AxisDirection axisDirection) {
    return child;
  }
}

要删除整个应用程序上的光晕,可以在MaterialApp以下位置添加它:

MaterialApp(
  builder: (context, child) {
    return ScrollConfiguration(
      behavior: MyBehavior(),
      child: child,
    );
  },
  home: new MyHomePage(),
);

要删除特定的ListView,请仅包装所需的ListView:

ScrollConfiguration(
  behavior: MyBehavior(),
  child: ListView(
    ...
  ),
)

如果要更改效果,这也有效。就像到达滚动视图的边界时添加淡入淡出一样。

2020-08-29