1、新建名为NoSplashFactory
的class,将如下代码拷入:
import 'package:flutter/material.dart';
/*
* 去除水波纹
*/
class NoSplashFactory extends InteractiveInkFeatureFactory {
const NoSplashFactory();
InteractiveInkFeature create({
@required MaterialInkController controller,
@required RenderBox referenceBox,
@required Offset position,
@required Color color,
TextDirection textDirection,
bool containedInkWell: false,
RectCallback rectCallback,
BorderRadius borderRadius,
ShapeBorder customBorder,
double radius,
VoidCallback onRemoved,
}) {
return new NoSplash(
controller: controller,
referenceBox: referenceBox,
color: color,
onRemoved: onRemoved,
);
}
}
class NoSplash extends InteractiveInkFeature {
NoSplash({
@required MaterialInkController controller,
@required RenderBox referenceBox,
Color color,
VoidCallback onRemoved,
}) : assert(controller != null),
assert(referenceBox != null),
super(controller: controller, referenceBox: referenceBox, onRemoved: onRemoved) {
controller.addInkFeature(this);
}
@override
void paintFeature(Canvas canvas, Matrix4 transform) { }
}
2、在MyApp
class中找到 MaterialApp
下的 ThemeData
加入以下内容
注:const NoSplashFactory()
需要导包刚刚新建的class
highlightColor: Colors.transparent,
splashFactory: const NoSplashFactory(),