From 4c20d11f2b75fdc2b7f6daa901ee794a9bd2ae45 Mon Sep 17 00:00:00 2001 From: laogede <2912842867@qq.com> Date: Mon, 30 Sep 2024 10:59:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A9=E5=85=A8=E5=B1=80=E9=85=8D=E7=BD=AEop?= =?UTF-8?q?aqueRoute=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/lib/main.dart | 12 ++++++++++++ lib/get_navigation/src/root/get_cupertino_app.dart | 1 + lib/get_navigation/src/root/get_material_app.dart | 1 + lib/get_navigation/src/routes/default_route.dart | 6 ++++-- lib/get_navigation/src/routes/get_route.dart | 4 ++-- lib/get_navigation/src/routes/route_middleware.dart | 2 +- 6 files changed, 21 insertions(+), 5 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index 09e8f458..f5ce63fc 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -39,6 +39,7 @@ class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return GetMaterialApp( + opaqueRoute: false, getPages: [ GetPage( participatesInRootNavigator: true, @@ -132,6 +133,17 @@ class Second extends StatelessWidget { Widget build(BuildContext context) { final controller = Get.put(SecondController()); print('second rebuild'); + return Container( + child: Column( + children: [ + Container( + height: 100, + width: double.infinity, + color: Colors.red, + ) + ], + ), + ); return Scaffold( appBar: AppBar( title: Text('page two ${Get.parameters["id"]}'), diff --git a/lib/get_navigation/src/root/get_cupertino_app.dart b/lib/get_navigation/src/root/get_cupertino_app.dart index cee98b97..08fe0eae 100644 --- a/lib/get_navigation/src/root/get_cupertino_app.dart +++ b/lib/get_navigation/src/root/get_cupertino_app.dart @@ -188,6 +188,7 @@ class GetCupertinoApp extends StatelessWidget { Widget build(BuildContext context) { return GetRoot( config: ConfigData( + defaultOpaqueRoute: opaqueRoute??true, backButtonDispatcher: backButtonDispatcher, binds: binds, customTransition: customTransition, diff --git a/lib/get_navigation/src/root/get_material_app.dart b/lib/get_navigation/src/root/get_material_app.dart index a321ac07..4c8872e7 100644 --- a/lib/get_navigation/src/root/get_material_app.dart +++ b/lib/get_navigation/src/root/get_material_app.dart @@ -195,6 +195,7 @@ class GetMaterialApp extends StatelessWidget { Widget build(BuildContext context) { return GetRoot( config: ConfigData( + defaultOpaqueRoute: opaqueRoute??true, backButtonDispatcher: backButtonDispatcher, binds: binds, customTransition: customTransition, diff --git a/lib/get_navigation/src/routes/default_route.dart b/lib/get_navigation/src/routes/default_route.dart index ec0b61b3..46fc9dd0 100644 --- a/lib/get_navigation/src/routes/default_route.dart +++ b/lib/get_navigation/src/routes/default_route.dart @@ -1,4 +1,5 @@ import 'package:flutter/cupertino.dart'; +import 'package:get/get_navigation/src/root/get_root.dart'; import '../../../get.dart'; import '../router_report.dart'; @@ -42,7 +43,7 @@ class GetPageRoute extends PageRoute super.settings, this.transitionDuration = const Duration(milliseconds: 300), this.reverseTransitionDuration = const Duration(milliseconds: 300), - this.opaque = true, + this.getOpaque, this.parameter, this.gestureWidth, this.curve, @@ -82,8 +83,9 @@ class GetPageRoute extends PageRoute @override final bool showCupertinoParallax; + final bool? getOpaque; @override - final bool opaque; + bool get opaque => getOpaque??Get.defaultOpaqueRoute; final bool? popGesture; @override diff --git a/lib/get_navigation/src/routes/get_route.dart b/lib/get_navigation/src/routes/get_route.dart index 3968f751..bab49876 100644 --- a/lib/get_navigation/src/routes/get_route.dart +++ b/lib/get_navigation/src/routes/get_route.dart @@ -20,7 +20,7 @@ class GetPage extends Page { final bool? participatesInRootNavigator; final Alignment? alignment; final bool maintainState; - final bool opaque; + final bool? opaque; final double Function(BuildContext context)? gestureWidth; final BindingsInterface? binding; final List bindings; @@ -66,7 +66,7 @@ class GetPage extends Page { this.curve = Curves.linear, this.alignment, this.parameters, - this.opaque = true, + this.opaque, this.transitionDuration, this.reverseTransitionDuration, this.popGesture, diff --git a/lib/get_navigation/src/routes/route_middleware.dart b/lib/get_navigation/src/routes/route_middleware.dart index 1112d7f5..d9ddf492 100644 --- a/lib/get_navigation/src/routes/route_middleware.dart +++ b/lib/get_navigation/src/routes/route_middleware.dart @@ -184,7 +184,7 @@ class PageRedirect { curve: r.curve, showCupertinoParallax: r.showCupertinoParallax, gestureWidth: r.gestureWidth, - opaque: r.opaque, + getOpaque: r.opaque, customTransition: r.customTransition, bindings: r.bindings, binding: r.binding,