首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flutter学习笔记:BottomNavigationBar实现多个Navigation

长话短说: 创建一个带Scaffold和BottomNavigationBar的app。 在每一个Scaffold中,为每个选项卡创建一个包含一个子项的Stack。...更多知识,请参阅Navigation基础知识教程,以及Navigator,MaterialPageRoute和MaterialApp。 其中一些代码是实验性的。 如果您知道更好的方法,请告诉我。...但是,如果我们只使用Navigator.of(context)来推送新路由,就会发生意想不到的情况。 当新页面出现时,整个``BottomNavigationBar```及其内容会滑动。 不酷。?...在第1-4行,我们定义了两个路由名称:/和/ detail 在第7行,我们定义了TabNavigator的构造函数。 这需要一个navigatorKey和一个tabItem。...这需要一个key和一个initialRoute参数。 它还有一个onGenerateRoute方法,每次需要生成路由时都会调用该方法。 这使用了我们上面定义的_routeBuilders()方法。

4.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    动手编写你的第一个 Flutter 应用

    我将带领大家尝试编写一个 Flutter 应用,感受一下 Flutter 开发的语法特点和运行效率。 Flutter 应用运行起来比 RN 流畅、编译快、热加载快,所以开发和调试的效率非常高。...这个页面脚手架 //可以快速构建页面 //MaterialApp这个脚手架默认自带顶部ToolBar、路由、主题、国际化等等配置 return MaterialApp(...Flutter框架已经帮我们优化了这部分,所以当我们需要刷新状态的时候不用担心性能问题 // 这个用来构建页面具体布局,这里使用了Scaffold脚手架 // 里面包含了AppBar、body、bottomNavigationBar...我们看下 MaterialApp 脚手架构造方法都提供了哪些可配置的属性功能: const MaterialApp({ Key key, this.navigatorKey, this.home...先了解 Flutter 的入口文件和入口函数,以及简单了解 MaterialApp、Scaffold 脚手架的概念。

    98120

    【Flutter】StatefulWidget 组件 ( 创建 StatefulWidget 组件 | MaterialApp 组件 | Scaffold 组件 )

    Flutter 封装的带有 AppBar , 底部导航栏 BottomNavigationBar , 侧边栏 的组件 , 使用该组件可以很容易实现一个复杂的导航页面 ; AppBar : 顶部导航栏 ;...BottomNavigationBar : 底部导航栏 ; RefreshIndicator : 刷新指示器 ; Image : 图片组件 ; TextField : 输入框组件 ; PageView...style: textStyle,), ), ), // AlertDialog 对话框 , 该弹窗有一个自动圆角和阴影...组件 ---- MaterialApp 组件是 材料设计 ( Material Design ) APP 组件 , 通常用作页面的根节点 ; MaterialApp 组件是 StatefulWidget...的子类 ; 通过 MaterialApp 组件很容易实现符合 Material Design 规范的应用 ; MaterialApp 组件中的 tittle 字段就是标题设置 , theme 字段设置的是主题

    2K01

    Flutter基础(二)

    脚手架包裹在里面,Scaffold显示的才是整个页面 2、MaterialApp/WidgetApp class MaterialApp extends StatefulWidget MaterialApp...MaterialApp 提供了大量的美观、功能丰富的控件,放弃MaterialApp等于放弃了一整片森林。...,默认值为 Window.defaultRouteName onGenerateRoute : 生成路由的回调函数,当导航的命名路由的时候,会使用这个来生成界面 onLocaleChanged : 当系统修改语言的时候...主体部分大部分是通过组合 Container ,Column,Row,Stack来实现的 floatingActionButton:悬浮按钮 bottomNavigationBar:底部类Tab导航栏...方向上进行布局 Colomn:child在竖直(上下)方向上进行布局 Expanded:填充剩余空间,必须放置于Row, Column或Flex内, Stack+Positoned:Stack与Row和Clomn

    99130

    Flutter中的基本路由、命名路由、替换路由,返回到根路由

    Flutter中的路由,通俗地讲就是页面跳转。在Flutter中通过 Navigator 组件管理路由导航。 Flutter中给我们提供了两种配置路由跳转的方式:基本路由和命名路由。...我们先通过一个小例子来了解一下命名路由的大致流程: 第1步,在根组件 MaterialApp 中配置路由信息: //main.dart void main() => runApp(MyApp());...总结 关于命名路由使用的前前后后,我在该文中都做了详细总结,并且做了代码分离,后续在项目中,我们可以参考该文进行命名路由的配置。 替换路由 前文中我们了解了Flutter中的普通路由和命名路由。...今天我们接着来聊聊Flutter中的替换路由和如何返回到跟路由。..._tabIndex], bottomNavigationBar: BottomNavigationBar( type: BottomNavigationBarType.fixed

    9.2K21

    Flutter Lesson 4: Flutter组件之App布局组件

    ( // 配置属性 ) } } 属性 MaterialApp 的属性挺多的,不过常用的可能也就是 home , initialRoute 和 routes。...this.persistentFooterButtons, // 底部持久化现实按钮 this.drawer, // 侧滑菜单 左侧 this.endDrawer, // 侧滑菜单 右侧 this.bottomNavigationBar...首页展示了列表,我们可以点击每一项进入到子页面,这个时候我们就需要使用到路由组件。...使用固定的路由名 上面说到的路由其实只是Navigator的一种,还有一种就是使用固定的路由名,有点像react-router 中我们定义一个Router把所有的路由都放在里面 下面看看主入口文件main.dart...补充说明(very important) 前文们提到了MaterialApp组件,这个组件其实一般就在main.dart中使用一次就可以了,因为如果在一个项目中使用了多次MaterialApp,同时你使用了固定路由配置

    1.7K50

    【Flutter】StatefulWidget 组件 ( 底部导航栏组件 | BottomNavigationBar 组件 | BottomNavigationBarItem 组件 | 选项卡切换 )

    文章目录 一、BottomNavigationBar 组件 二、BottomNavigationBarItem 组件 三、BottomNavigationBar 底部导航栏代码示例 四、BottomNavigationBar...底部导航栏选中状态切换代码示例 五、BottomNavigationBar 底部导航栏切换选项卡界面 六、 相关资源 一、BottomNavigationBar 组件 ---- BottomNavigationBar.../ 设置字体大小 20, 颜色红色 TextStyle textStyle = TextStyle(fontSize: 20, color: Colors.red); return MaterialApp.../ 设置字体大小 20, 颜色红色 TextStyle textStyle = TextStyle(fontSize: 20, color: Colors.red); return MaterialApp.../ 设置字体大小 20, 颜色红色 TextStyle textStyle = TextStyle(fontSize: 20, color: Colors.red); return MaterialApp

    2.4K00
    领券