- TabBar 底部有一条很长的白色的线条
- ListView与AppBar结合,滚动ListView,AppBar的颜色被更改了
- flutter PopScope 拦截 webView 返回按键
- flutter dialog后面,顶部,底部,有一点点的小小的白色
- TabBar 去掉水波纹点击效果
TabBar 底部有一条很长的白色的线条
TabBar(
dividerColor: Colors.transparent,//去除白色线
dividerHeight: 0,
)
//可能你们需要
//Flutter 自定义 TabBar indicator 的宽度和圆角
//https://blog.csdn.net/qq_42351033/article/details/115820289
ListView与AppBar结合,滚动ListView,AppBar的颜色被更改了
AppBar(
scrolledUnderElevation: 0//防止滚动改变appBar的颜色
);
flutter PopScope 拦截 webView 返回按键
@override
Widget build(BuildContext context) {
//配置android ios
PlatformWebViewControllerCreationParams params =
const PlatformWebViewControllerCreationParams();
if (WebViewPlatform.instance is WebKitWebViewPlatform) {
params = WebKitWebViewControllerCreationParams
.fromPlatformWebViewControllerCreationParams(
params,
);
} else if (WebViewPlatform.instance is AndroidWebViewPlatform) {
params = AndroidWebViewControllerCreationParams
.fromPlatformWebViewControllerCreationParams(
params,
);
}
final WebViewController webViewController =
WebViewController.fromPlatformCreationParams(
params,
);
webViewController.setJavaScriptMode(JavaScriptMode.unrestricted);
webViewController.loadRequest(Uri.parse(requestUrl));
return Scaffold(
resizeToAvoidBottomInset: false,
body: PopScope(
canPop: false,//false 表示拦截物理按键,true不拦截
onPopInvoked: (didPop) async{//不管canPop是否为true,onPopInvoked都会调用
var canBack = await webViewController.canGoBack();
if (canBack) {
// 当网页还有历史记录时,返回webview上一页
await webViewController.goBack();
}
}, child: Expanded(child: WebViewWidget(controller: webViewController))),
),
);
}
flutter dialog后面,顶部,底部,有一点点的小小的白色
异常.jpg解决办法
增加 backgroundColor: Colors.transparent
Future show() async{
return await Get.dialog(Dialog(backgroundColor: Colors.transparent,child: _ContainDialog(),));
}
TabBar 去掉水波纹点击效果
.....
title: TabBar(
splashFactory: NoSplashFactory(),
dividerColor: Colors.transparent,
dividerHeight: 0,
....)
class NoSplashFactory extends InteractiveInkFeatureFactory {
@override
InteractiveInkFeature create({required MaterialInkController controller, required RenderBox referenceBox, required Offset position, required Color color, required TextDirection textDirection, bool containedInkWell = false, RectCallback? rectCallback, BorderRadius? borderRadius, ShapeBorder? customBorder, double? radius, VoidCallback? onRemoved}) {
return _NoInteractiveInkFeature(controller: controller,referenceBox: referenceBox,color: color);
}
}
class _NoInteractiveInkFeature extends InteractiveInkFeature {
_NoInteractiveInkFeature({required super.controller, required super.referenceBox, required super.color});
@override
void paintFeature(Canvas canvas, Matrix4 transform) {
}
}
网友评论