Flutter 如何去掉 TabBar(按钮等) 点击时的阴影以及波纹效果

1,348 阅读1分钟

在使用 TabBar 组件的时候是否遇到过这样的情况,如下所示演示图

20210417214938859.gif 点击标签栏的时候会有阴影以及波纹效果,看起来不太美观,怎么去掉这个呢 ?

有一个巧妙的方法,就是在 TabBar 组件外层套一个 Theme 组件,设置其 data 属性即可,关键代码如下

Theme(
  data: ThemeData(
    splashColor: Colors.transparent, // 点击时的水波纹颜色设置为透明
    highlightColor: Colors.transparent, // 点击时的背景高亮颜色设置为透明
  ),
  child: TabBar(
  	...
  ),
)

修改后的动态效果演示图如下

20210417214938859.gif

当然,这种方式不仅可以去掉 TabBar 点击时的阴影,凡是被其包括着并且设置透明色的,比如包着 Scaffold,则在 Scaffold 中的组件,都会失去点击时的效果。