dart - 如何去除滚动发光?
问题描述
默认情况下,flutter 会在ListView
/ GridView
/... 上添加发光效果,以在 android 手机上进行过度滚动
我想完全或在一个特定的可滚动项上删除此效果。我知道我可以ScrollPhysics
在 Bounce/Clamp 之间切换。但这实际上并没有消除发光效果。
我能做些什么 ?
解决方案
发光效果来自GlowingOverscrollIndicator
添加ScrollBehavior
要消除这种影响,您需要指定一个自定义ScrollBehavior
. 为此,只需将应用程序的任何给定部分包装到ScrollConfiguration
带有所需ScrollBehavior
.
以下ScrollBehavior
将完全消除发光效果:
class MyBehavior extends ScrollBehavior {
@override
Widget buildOverscrollIndicator(
BuildContext context, Widget child, ScrollableDetails details) {
return child;
}
}
要移除整个应用程序的发光,您可以在下面添加它MaterialApp
:
MaterialApp(
builder: (context, child) {
return ScrollConfiguration(
behavior: MyBehavior(),
child: child,
);
},
home: new MyHomePage(),
);
要在特定的 上删除它ListView
,而是只包装所需的ListView
:
ScrollConfiguration(
behavior: MyBehavior(),
child: ListView(
...
),
)
如果您想更改效果,这也是有效的。就像在到达滚动视图的边界时添加淡入淡出一样。
推荐阅读
- excel - Excel - 使用切片器根据列更改数据透视图
- swift - @_downgrade_exhaustivity_check Swift 私有关键字是什么?
- c# - 如何在选择行时获取单元格 GridView Devexpress 以进行编辑
- java - cvc-complex-type.2.4.a:发现以元素“位置”开头的无效内容
- gitlab - 如何在 GitLab 上上传文件?
- svn - 提交到多个 svn 外部时的灰色复选框
- python - 如何将恢复图的输出张量连接到张量流中默认图的输入?
- regex - 从同一行和下一行获取值
- python - 将值添加到 Python 列表中的一系列值的最有效方法是什么?
- json - 将所有 JSON 字符串转换为 JSON