Как удалить всплеск в компоненте PageView материала ?Я попытался установить для accentColor
и splashColor
в ThemeData значение Colors.transparent
, но это привело к прозрачному черному всплеску для всего приложения.
Я попытался создать NoSplashContainer
, очень похожий наэто решение , но всплеск остается внутри дочерних элементов.
import 'package:flutter/material.dart';
class NoSplashContainer extends StatelessWidget {
final Widget child;
NoSplashContainer(this.child) : assert(child != null);
@override
Widget build(BuildContext context) {
return (new Container(
child: new Theme(
data: Theme
.of(context)
.copyWith(splashFactory: const NoSplashFactory()),
child: child)));
}
}
class NoSplashFactory extends InteractiveInkFeatureFactory {
const NoSplashFactory();
@override
InteractiveInkFeature create({
@required MaterialInkController controller,
@required RenderBox referenceBox,
@required Offset position,
@required Color color,
bool containedInkWell: false,
RectCallback rectCallback,
BorderRadius borderRadius,
double radius,
VoidCallback onRemoved,
}) {
return new NoSplash(
controller: controller,
referenceBox: referenceBox,
);
}
}
class NoSplash extends InteractiveInkFeature {
NoSplash({
@required MaterialInkController controller,
@required RenderBox referenceBox,
}) : assert(controller != null),
assert(referenceBox != null),
super(
controller: controller,
referenceBox: referenceBox,
);
@override
void paintFeature(Canvas canvas, Matrix4 transform) {}
}
Я использую NoSplashContainer
примерно так ...
new NoSplashContainer(new PageView(
children: ...,
)));
но всплеск все еще присутствуетв PageView
.