当前位置: 首页 > 知识库问答 >
问题:

如何在Flutter上删除MaterialApp上的Android后退按钮?

邢英奕
2023-03-14
void main() {
  WidgetsFlutterBinding.ensureInitialized();
  SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom]);
  OrientationSingleton.left = true;
  SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft])
      .then((_) {
    runApp(new MyApp());
  });
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
MediaQuery.of() called with a context that does not contain a MediaQuery.

那么,如何删除MaterialApp的Flutter上的Android back、home和square按钮呢?

共有1个答案

鲁展
2023-03-14

正如错误消息中所述,SystemChrome需要Context-调用它的位置可以是小部件initstate()方法:

class MyApp extends StatefulWidget {
  const MyApp({ Key key }) : super(key: key);

  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
   void initState() {
     super.initState();
     SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom]);
     OrientationSingleton.left = true;
     SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft]);
   }

   @override
   Widget build(BuildContext context) {
      return MaterialApp(); // your MaterialApp class
   }
}

要在Android上隐藏系统底栏,一种方法是调用setenabledsystemUiOverays()函数,其中包含一个空列表:

SystemChrome.setEnabledSystemUIOverlays([]);

然而,并不是所有Android设备都支持这项功能。

 类似资料:
  • 如何在Android上删除v7工具栏上的后退按钮? 我突出显示了下图中试图删除的按钮:

  • 在特定页面上,是否有办法停用Android后退按钮? 在第一页上,我有一个按钮可以转到第二页: 我的问题是,如果我按下android屏幕底部的返回箭头,我会返回到第一页。我不希望这个按钮出现。理想情况下,我希望没有可能离开这个屏幕,除非用户保持他的手指按在屏幕上5秒钟。(我正试图为初学走路的孩子编写一个应用程序,希望只有父母能够导航出特定的屏幕)。

  • 我想知道,当您使用转到另一个页面时,是否有人知道如何删除flutter应用程序中上显示的后退按钮。我不希望它出现在这个结果页面上的原因是它来自导航,我希望用户使用按钮,以便会话重新开始。

  • 我正在使用Actionbar和它的“up”按钮从一个细节活动返回到主活动,这很好。类似地,用户可以按系统“后退”按钮返回到主活动。 在我的主要活动中,在中,从internet下载数据,以便在应用程序启动时显示。我注意到,当我使用Actionbar“up”按钮从细节转到主要活动时,运行,重新下载数据。但是当我使用系统“后退”按钮时,没有运行,因此立即显示主活动视图。 我在详细信息活动中用于实现“向上

  • 问题内容: 当我按下a时,它在new的后退按钮中有一些标题,如果标题中包含很多文本,则在iPhone 4s中看起来不太好,所以我想删除它。 如果我在函数中添加一些代码,那将是一个麻烦。 还有更好的方法吗? 问题答案: 如果要返回箭头,则将以下代码放入文件中。 另一个选择在下面给出。 在 在 更新: 更新SWIFT 4.1: 使用偏移 因此可能是您的问题已解决。 快乐的编码。

  • 问题内容: 当我在浏览器上按下“刷新”按钮时,似乎在刷新过程中保留了该变量。 如果我要删除内容该怎么办?使用的领域并没有帮助。 帮帮我?谢谢! 问题答案: 请求标头包含一些POST数据。无论您做什么,重新加载页面时,都会再次发送rquest。 简单的解决方案是重定向到新的页面(如果不相同)。这种模式在Web应用程序中非常常见,称为Post / Redirect / Get 。所有表单都进行POST