首页 > 解决方案 > 为什么我的 AppBar 标题会更改缩进?

问题描述

我有一个有 2 页的简单应用程序。main.dart 文件有 1 个页面设置为 MaterialApp 的主页属性,如下所示:

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'MyApp',
      theme: ThemeData(
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: MyFirstPage(),
    );
  }
}

第一次加载此页面时,标题靠近屏幕的左边缘。在第一页上,我有一个按钮,可以使用以下命令将我发送到第二页:

Navigator.push(context, PageRouteBuilder(pageBuilder: (_, a1, a2) => MySecondPage()));

在此页面上,AppBar 中的标题有一个左缩进。

同样,我的第二页上有一个按钮,它使用与上述 Navigator.push 相同的方法将我发送到我的第一页。然而,这一次,页面标题的缩进与我的第二页相同。

为什么我的第一页第一次打开时没有缩进?我怀疑这是因为它是使用 home 属性访问的,但我仍然不明白如何更改它。

标签: flutterindentationtitlespacingappbar

解决方案


发生这种情况是因为当您将一个页面推送到另一个页面时,AppBar 中的标题左侧应该有一个后退按钮。

但是当你第一次启动时。FirstPage 是活动堆栈上唯一的小部件,因此没有返回按钮可以转到上一个活动。


推荐阅读