如何在 Flutter 中禁用默认的 Widget 飞溅效果

Posted Lucklyの博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在 Flutter 中禁用默认的 Widget 飞溅效果相关的知识,希望对你有一定的参考价值。

如何在 Flutter 中禁用默认的 Widget 飞溅效果

默认情况下,许多 Flutter Material Design 小部件在被选中时会显示飞溅效果。

这适用于IconButtonInkWellListTile和许多其他部件。

如果您正在创建一个完全自定义的设计并希望在整个应用程序范围内禁用此功能,您需要做的就是:

MaterialApp(
  theme: ThemeData(
    splashColor: Colors.transparent,
    highlightColor: Colors.transparent,
    hoverColor: Colors.transparent,
  ),
)

或者,您可以通过插入父Theme小部件将其应用于某个小部件子树:

Theme(
  data: Theme.of(context).copyWith(
    splashColor: Colors.transparent,
    highlightColor: Colors.transparent,
    hoverColor: Colors.transparent,
  )
  child: child,
)

您还可以直接为特定小部件禁用此功能:

IconButton(
  splashColor: Colors.transparent,
  highlightColor: Colors.transparent,
  hoverColor: Colors.transparent,
  icon: someIcon,
  onPressed: someCallback,
)

以上是关于如何在 Flutter 中禁用默认的 Widget 飞溅效果的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Flutter Web 中禁用默认浏览器快捷方式?

如何在 Flutter 上禁用 SSL 固定?

如何禁用 form_widget

[Flutter Widget] StatefulWidget

我如何在 FutureBuilder Widget 的构建器函数中等待 - Flutter

如何在 Firebase + Firestore + Flutter 中使用 StreamBuilder 将所有子集合数据获取到 Widget