【问题标题】:How to remove ListView highlight color in Flutter? [duplicate]如何在 Flutter 中移除 ListView 高亮颜色? [复制]
【发布时间】:2018-11-26 17:16:12
【问题描述】:

我正在我的应用程序中实现列表视图,但列表视图突出显示颜色不适合我的应用程序,因此我需要隐藏或删除它,但找不到方法。

这是我要移除的带有突出显示颜色的应用图像。您可能会注意到阴影效果奇怪地与高光效果重叠。

【问题讨论】:

  • 如果您的应用没有遵循 Material Design 原则,请不要使用MaterialApp 开头。你可以使用WidgetApp,它不会引入类似的东西。
  • @RémiRousselet 我理解他们担心过度滚动发光有时会在原本干净的设计中引入非常刺眼的切割。 Material Design 是一个指导方针,因此删除某些元素并不意味着您不能利用其他元素。

标签: flutter


【解决方案1】:

编辑:

改用How to remove scroll glow? 的解决方案。

虽然此处显示的解决方案有效,但它实际上并没有移除辉光。它取消它。由于创建发光效果的资源仍然存在,因此优化程度较低。而且可定制性较低,因为它不允许用不同的效果(例如淡入淡出)替换 Glow。


您可以在小部件树中插入NotificationListener<OverscrollIndicatorNotification>

然后调用通知overscrollIndicatorNotification.disallowGlow()

 NotificationListener<OverscrollIndicatorNotification>(
    onNotification: (overscroll) {
      overscroll.disallowGlow();
    },
    child: new ListView.builder(
      itemBuilder: (context, index) {
        return new ListTile(
          title: new Text("data"),
        );
      },
    ),
  ),

您可以在任意位置插入NotificationListener。只要它是MaterialApp 的子代并且高于所需的ListView。它不需要是 ListView 的直接父级。

【讨论】:

  • 由于标题,没有考虑禁用它。很好的解决方案。
  • @Remi Rousellet 你能告诉我你学习 Flutter 的来源吗,因为我从未在任何 youtube 教程中看到 NotificationListenerwidget。
  • 我没有。我刚刚阅读了颤振文档。 Flutter 有很好的文档记录。
  • 你没有在 onNotification 函数上返回 true
  • @RémiRousselet 它说:这个函数有返回类型 bool 但不以 return 语句结束。或者我可以退货吗?在函数的末尾?
猜你喜欢
  • 2011-08-30
  • 2011-11-22
  • 2011-02-16
  • 2022-12-04
  • 1970-01-01
  • 1970-01-01
  • 2012-03-21
  • 1970-01-01
  • 2013-10-24
相关资源
最近更新 更多