我正在使用DefaultTabbarWidget和Alert包。警报包有一个默认的取消按钮。取消按钮有Navigator.pop(context)方法,所以我当前页面标签栏和pop方法正在黑屏。我想pop方法不支持任何页面。如何使用标签栏和导航器设计。(标签页设置默认页)我正在尝试这段代码,但不知道我想要什么。voidmain()=>runApp(App());classAppextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){returnMaterialApp(theme:ThemeData.light()
我想使用Navigator.push(MaterialPageRoute)而不是AlertDialog,因为现在我认为让我的用户拥有一个完整的页面来发布内容而不是一个对话框更好,我将如何编辑我的代码来做这个?提前致谢appBar:AppBar(centerTitle:true,title:Text('hehe',style:TextStyle(fontWeight:FontWeight.bold,fontSize:25.0),),actions:[Padding(padding:constEdgeInsets.only(right:10.0),child:IconButton(icon
我在这里遇到了一个小问题:当我将非全屏小部件推送到导航器时。以前的小部件根本不绘制,导致黑色背景,即使本意是有一个简单的对话框。如何防止这种情况发生?或者有什么简单的解决方法?import'package:flutter/material.dart';voidmain()=>runApp(MyApp());classMyAppextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){returnMaterialApp(title:'TheDialogIssue',initialRoute:'/',routes:{'
从今天早上开始就一直报这个错,看了stacktrace,追查到runApp方法上的报错,不明白总之,问题是什么,我们将不胜感激:)这是个异常(exception):getter'navigator'wascalledonnull这是我的main.dart文件import'dart:async';import'package:firebase_analytics/firebase_analytics.dart';import'package:firebase_analytics/observer.dart';import'package:flutter/material.dart';im
我试图在FlutterNavigatorWidget中强制执行水平转换。Navigator使用从一个屏幕到下一个屏幕的平台默认转换。在iOS中,过渡是从右到左。从左到右弹出。在Android中它是从下到上。我相信解决方案是使用PageRouteBuilder,但没有成功。我用导航器小部件标记了方法,我想用PageRouteBuilder修改它以获得所需的水平过渡。代码片段2,是我一直在尝试但没有成功的转换代码。此代码用作默认转换。import'package:flutter/material.dart';voidmain()=>runApp(newMyApp());classMyApp
在我的应用程序中,我有一个始终可见的底栏。我在thissite中找到在拥有多个导航器的同时将选项卡保存在内存中的一个好方法是使用Offscreen。但是,当我将Navigator放在Offscreen中时,它的所有内容都无法获得焦点。我做了一个非常简单的例子来重现我所说的:voidmain()async{runApp(MyApp());}classMyAppextendsStatelessWidget{MyApp({Keykey,}):super(key:key);@overrideWidgetbuild(BuildContextcontext){returnMaterialApp(t
我在应用程序的主页/根页面中有一个流生成器。每当我在别处进行页面导航时都会触发此流构建器,这与流本身无关。我的理解,根据here和here,当页面在导航器中弹出/推送时,它会触发应用程序的重建,因此流生成器会重新附加并触发。然而,这似乎效率低下,那么有没有办法阻止流生成器在弹出/推送页面时触发?此外,根据日志,当我推送页面时,首先构建并显示页面,然后触发流构建器。然而,流生成器的小部件/页面根本不显示,即使日志/调试器清楚地显示流生成器的小部件已返回。它去哪儿了?它在Flutter框架中是如何工作的?下面是完整的代码和日志。该代码使用Firebase身份验证作为流生成器。代码:impo
我正在使用BLoC,我需要从PageOne导航到PageTwo并能够使用后退按钮返回,我不知道这是否是处理此问题的正确方法。当函数_navigateToPage2被调用时,我也遇到了错误。ThecontextusedtopushorpoproutesfromtheNavigatormustbethatofawidgetthatisadescendantofaNavigatorwidget.classSimpleBlocDelegateextendsBlocDelegate{@overridevoidonTransition(Transitiontransition){print(tra
我想知道是否有一种使用Navigator调用的方法不允许用户向后导航并保持HeroWidget的动画完好无损?我在启动画面和登录屏幕之间有一个英雄小部件图像转换,但我想阻止用户从启动画面返回。Navigator.pushAndRemoveUntil和Navigator.pushReplacement都终止动画过渡动画。 最佳答案 我的解决方案主要是因为WillPopScope污染了另一个页面并阻止了Android上应该关闭应用程序的硬件按钮:FuturepushAndReplace(StringrouteName)async{fin
我有一个StatefulWidget,我想在命名路由中使用它。我必须按照https://flutter.dev/docs/cookbook/navigation/navigate-with-arguments中的建议传递一些我正在做的论点即Navigator.pushNamed(context,routeName,arguments:,);现在,我需要在状态的initState方法中访问这些参数,因为需要参数来订阅一些外部事件。如果我将args=ModalRoute.of(context).settings.arguments;调用放在initState中,我会得到一个运行时异常。20