在使用 TabBar 组件的时候是否遇到过这样的情况,如下所示演示图
点击标签栏的时候会有阴影以及波纹效果,看起来不太美观,怎么去掉这个呢 ?
有一个巧妙的方法,就是在 TabBar 组件外层套一个 Theme 组件,设置其 data 属性即可,关键代码如下
Theme(
data: ThemeData(
splashColor: Colors.transparent, // 点击时的水波纹颜色设置为透明
highlightColor: Colors.transparent, // 点击时的背景高亮颜色设置为透明
),
child: TabBar(
...
),
)
修改后的动态效果演示图如下
当然,这种方式不仅可以去掉 TabBar 点击时的阴影,凡是被其包括着并且设置透明色的,比如包着 Scaffold,则在 Scaffold 中的组件,都会失去点击时的效果。