如何去除 Flutter 中的第二个应用栏?

Posted

技术标签:

【中文标题】如何去除 Flutter 中的第二个应用栏?【英文标题】:How to remove the second app bar in Flutter? 【发布时间】:2020-04-05 12:44:04 【问题描述】:

我开发了一个 Flutter 包,它有自己的本地化和主题,因此我在包中使用了 MaterialApp 小部件。

return MaterialApp(
  key: Key('key_root_widget'),
  debugShowCheckedModeBanner: false,
  theme: ChatController.chatConfig.themeData,
  locale: ChatController.chatConfig.locale,
  routes: Routes.routes,
  supportedLocales: [
    Locale('en', 'US'),
    Locale('es', 'ES'),
    Locale('da', 'DK'),
  ],
  localizationsDelegates: [
    // A class which loads the translations from JSON files
    AppLocalizations.delegate,
    // Built-in localization of basic text for Material widgets
    GlobalMaterialLocalizations.delegate,
    // Built-in localization for text direction LTR/RTL
    GlobalWidgetsLocalizations.delegate,
    // Built-in localization of basic text for Cupertino widgets
    GlobalCupertinoLocalizations.delegate,
  ],
  // Returns a locale which will be used by the app
  localeResolutionCallback: (locale, supportedLocales) 
    // Check if the current device locale is supported
    for (var supportedLocale in supportedLocales) 
      if (supportedLocale.languageCode == locale.languageCode) 
        return supportedLocale;
      
    
    // If the locale of the device is not supported, use the first one
    // from the list (English, in this case).
    return supportedLocales.first;
  ,
  home: Scaffold(
    appBar: AppBar(title: Text('Flutter Package'),),
    body: Material(
      child: FutureBuilder(
        future: widget.controller.init(),
        builder: (BuildContext context, AsyncSnapshot snapshot) 
          if (snapshot.connectionState == ConnectionState.done) 
            if (_chatStore.navigateToChatRoom) _navigateToChatRoom();
            return _buildBody();
           else 
            return CustomProgressIndicatorWidget();
          
        ,
      ),
    ),
  ),
);

我想删除项目的应用栏,只想使用包应用栏,但不幸的是我无法做到这一点。需要帮助:)

【问题讨论】:

尝试flutter clean并再次运行 【参考方案1】:

只需从您的代码中删除该行,

appBar: AppBar(title: Text('Flutter Package'),),

【讨论】:

问题是如何删除项目的应用栏而不是包的。由于是在开发包,所以不清楚项目的app bar怎么去掉。 我想要与包相关的应用栏,但想隐藏项目的应用栏(第一个)。 添加您的完整代码以显示您如何使用您的包。 只需在问题中添加所有代码文件即可找到您的问题。

以上是关于如何去除 Flutter 中的第二个应用栏?的主要内容,如果未能解决你的问题,请参考以下文章

如何仅在 Flutter 中的特定页面上更改状态栏颜色

Flutter:如何根据选择的第一个下拉按钮值设置第二个下拉按钮(多级相关按钮)的值?

iOS 8 导航栏在 Storyboard 上的第二个 ViewController 中无法访问

如何找到 MIPS 中的第二个最小值?

从导航栏下的第二个视图

如何从另一个选项卡上的场景切换或弹出选项卡式应用程序中第一个选项卡的第二个场景?