Flutter Inkwell 的颜色设置

6 min read

在 Flutter 中,InkWell 是一个可以在 Material Design 中实现水波纹效果的小部件。如果你想要更改 InkWell 中水波纹的颜色,可以使用 InkWell 的 splashColor 参数。这个参数接受一个 Color 类型的值,用来表示水波纹的颜色。

例如,你可以将 InkWell 的 splashColor 设置为 Colors.blue,来使水波纹颜色为蓝色。


InkWell(
  splashColor: Colors.blue,
  onTap: () {
    // Handle tap event
  },
  child: Container(
    width: 100,
    height: 100,
    child: Center(
      child: Text("Tap me"),
    ),
  ),
)

如果你想更改水波纹颜色的渐变,可以使用 inkSplashinkHighlight


InkWell(
  inkSplash: BoxDecoration(
    gradient: LinearGradient(
        colors: [Colors.orange[800], Colors.orange[600], Colors.orange[400]])
  ),
  inkHighlight: BoxDecoration(
    color: Colors.orange[200]
  ),
  onTap: () {
    // Handle tap event
  },
  child: Container(
    width: 100,
    height: 100,
    child: Center(
      child: Text("Tap me"),
    ),
  ),
)

另外还有很多属性可以控制InkWell的样式,如highlightColor,enableFeedback等。