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

“‘body”在使用BottomNavigationBar后不可见: BottomAppBar

BottomAppBar是一个Material Design风格的底部导航栏组件,常用于移动应用的底部导航布局。它通常与BottomNavigationBar一起使用。

BottomAppBar的优势:

  1. 提供了一种简洁、直观的导航方式,用户可以快速切换应用的不同功能模块。
  2. 基于Material Design风格,具有良好的用户体验和可用性。
  3. 可以通过定制化来适应不同应用的需求,包括颜色、形状、图标等。

应用场景:

  1. 移动应用的主页面底部导航布局。
  2. 能够切换不同模块或功能的应用界面。

腾讯云相关产品: 腾讯云提供了丰富的云计算产品和服务,以下是其中一些与BottomAppBar相关的产品和服务:

  1. 云开发:腾讯云云开发是一款后端云服务,提供了丰富的后端能力和前端框架,可以帮助开发者快速构建应用,包括移动应用。详情请参考:https://cloud.tencent.com/product/tcb
  2. 腾讯云小程序开发:腾讯云提供了小程序开发的服务,开发者可以通过使用腾讯云小程序开发框架,实现底部导航栏等界面布局。详情请参考:https://cloud.tencent.com/product/mpdev

注意:以上产品仅是示例,更详细和全面的腾讯云产品和服务请参考腾讯云官方网站。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

flutter BottomAppBar实现不规则底部导航栏

本文实例为大家分享了flutter实现不规则底部导航栏的具体代码,供大家参考,具体内容如下 实现底部导航栏并点击切换页面可简述为有三种方式 TabBar + TabBarView BottomNavigationBar...+ BottomNavigationBarItem 自定义 BottomAppBar 在这里 使用 BottomAppBar 来实现 image.png /** * 有状态StatefulWidget.../主要是负责创建state @override BotomeMenumBarPageState createState() = BotomeMenumBarPageState(); } /** * ...ChildItemView("我的") ]; Widget buildBottomTabScaffold() { return SizedBox( height: 100, child: Scaffold( //对应的页面 body...: BottomAppBar( //悬浮按钮 与其他菜单栏的结合方式 shape: CircularNotchedRectangle(), // FloatingActionButton和BottomAppBar

1.8K20
  • Flutter 入门指北之快速搭建界面(含Flutter知识体系)

    上一篇讲完 Flutter 中的一些基本部件,这篇就先填完上篇留下的没写的 AppBar 的坑,以及 Scaffold 其他参数的使用开始前,先补一张缩略版的脑图 ?...属性没讲的一个坑,就剩下 drawer 、 bottomNavigationBar 属性没讲了,解决这两个坑之前,我们先处理下另一个问题 Scaffold 能够使我们快速去搭建一个界面,但是,并不是所有的界面都需要...: TabChangePage(content: 'Content')); } 最终的效果图也贴了,当手势从左侧滑出或者点击 leading 图标,抽屉就出来了 AppBar - bottomNavigationBar...items ,但是这边为了实现一个 bottomNavigationBar 和 floatingActionButton 一个特殊的组合效果,我们不使用 BottomNavigationBar,换做...bottomNavigationBar: BottomAppBar( shape: CircularNotchedRectangle(), child: Row(

    1.7K20

    Flutter | 容器组件

    实际上,只有这样才能保证 父限制与子限制冲突 UnconstrainedBox 该组件不会对子组件产生任何限制,它允许子组件按照本身大小绘制,一般情况下,我们很少使用此组件,但在 去除 多重限制的时候也许会有帮助...实际开发中,当我们发现已经使用了 SizedBox 或者 ConstrainedBox 给定子元素宽高,但是仍然没有效果时,几乎可以断定:已经有父元素设置了限制!...,使用的时候可自行了解 装饰容器 DecoratedBox DecoratedBox 可以在其子组件绘制前(或),绘制一些装饰(Decoration),如背景,边框,渐变等,定义如下: const DecoratedBox...:子组件之上绘制,即前景 BoxDecoration 我们通常会直接使用 BoxDecoration 类,他是 Decoration 的子类,实现了常用装饰元素的绘制 BoxDecoration({...但是如果要实现一些特殊的效果要怎么做呢,示例: bottomNavigationBar: BottomAppBar( color: Colors.white, shape

    5.5K10

    Flutter容器类组件

    效果图如下: undefined 2.装饰容器(DecoratedBox) 2.1 DecoratedBox介绍 DecoratedBox可以在其子组件绘制前(或)...5.5 BottomNavigationBar介绍 我们可以通过Scaffold的bottomNavigationBar属性来设置底部导航,如本节开始示例所示,我们通过Material组件库提供的BottomNavigationBar...下面这部分代码可以绘出一个美观的底部导航栏: bottomNavigationBar: BottomAppBar( color: Colors.white, shape: CircularNotchedRectangle...最后就是页面的 Body 部分了,Scaffold 有一个 body 属性,接收一个 Widget,我们可以传任意的 Widget ,在后面介绍滑动组件时,会涉及到 TabBarView,它是一个可以进行页面切换的组件...,多 Tab 的 App 中,一般都会将 TabBarView 作为 Scaffold 的 Body

    3.9K40

    Flutter实现页面切换保持原页面状态的3种方法

    前言: Flutter应用中,导航栏切换页面默认情况下会丢失原页面状态,即每次进入页面时都会重新初始化状态,如果在initState中打印日志,会发现每次进入时都会输出,显然这样增加了额外的开销,...底部导航,body中展示当前选中的子页面。...现在我们先来介绍另外两种方式: ① 使用IndexedStack实现 IndexedStack继承自Stack,它的作用是显示第index个child,其它child页面上是不可见的,但所有child...currentIndex] body: IndexedStack( index: currentIndex, children: bodyList, )); } 保存再次测试一下 ?...更新 前面底部导航介绍了使用IndexedStack和Offstage两种方式实现保持页面状态,但它们的缺点在于第一次加载时便实例化了所有的子页面State。

    2.8K30

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

    ,女士们,先生们,来让我们把Navigation变得有趣。 这是一个有BottomNavigationBar的app: ?...但是,如果我们只使用Navigator.of(context)来推送新路由,就会发生意想不到的情况。 当新页面出现时,整个``BottomNavigationBar```及其内容会滑动。 酷。?...这使用了我们上面定义的_routeBuilders()方法。 第11-19行,我们定义了一个_push()方法,该方法用于使用ColorDetailPage推送细节路径。...如果我们现在运行应用程序,我们可以看到推送选择列表项时正常工作,并且BottomNavigationBar保持不变。 棒极了!? ?...这将Offstage控件与子TabNavigator一起使用。 如果正在呈现的选项卡与当前选项卡匹配,则offstage属性为true。

    4.3K20

    【Flutter】底部导航栏实现 ( BottomNavigationBar 底部导航栏 | BottomNavigationBarItem 导航栏条目 | PageView )

    key, this.appBar, // 顶部的标题栏 this.body, // 中间显示的核心部分 , 标题栏下面的部分都是 this.floatingActionButton...onTap 点击事件 , BottomNavigationBar 组件需要设置组件的类型 , BottomNavigationBarType?..., /// 都会根据当前点击的选项而改变 , /// 改变的时候有切换动画 /// 选中的状态下显示底部图标的文本 /// 选中的状态下隐藏底部的文本内容 shifting...PageController 主要作用是调用 void jumpToPage(int page) 方法 , 进行页面跳转 ; jumpToPage 页面跳转在底部菜单栏的 onTap 点击事件中调用 , 更新当前页面...controller, // 滚动控制类 this.physics, // 滚动逻辑 , 滚动 / 滚动 / 滚动到边缘是否反弹 this.pageSnapping = true,

    6.1K50

    听说谷歌Baba更新了 Material UI ...

    Step 4: 使用 androidx.appcompat.app.AppCompatActivity 注意:使用的是androidx。...持久性底部页面是从屏幕底部出现的视图,主要内容上升高。他们可以垂直拖动以暴露他们的内容列表。 注意:如果要使用模态(对话框)的底页,请使用 BottomSheetDialogFragment。...这里再次简单描述相关细节: Bottom Sheets具有五种状态: STATE_COLLAPSED: Bottom Sheets是可见的,但只显示可视(部分)高度。...; STATE_DRAGGING:用户主动向上或向下拖动Bottom Sheets; STATE_SETTLING: 拖动/轻扫手势,Bottom Sheets将调整到特定高度。...如果已经Activity使用CoordinatorLayout,添加底部表单很简单: 将任何视图添加为CoordinatorLayout的直接子视图。

    3K20

    【Flutter】底部导航栏页面框架 ( BottomNavigationBar 底部导航栏 | PageView 滑动页面 | 底部导航与滑动页面关联操作 )

    2、四个切换页面 3、应用启动主界面 4、运行效果 五、相关资源 一、BottomNavigationBar 底部导航栏 ---- Scaffold 的 bottomNavigationBar 属性设置底部导航栏...; 设置当前索引 : BottomNavigationBar的 currentIndex 属性设置当前底部导航栏的选中索引 , 为其设置一个变量 , 改变该变量值 , 通过 setState 方法更新..., 并更新 UI 界面 ; 显示组件 : children 参数中设置 Widget 数组即可 , 组件类型只要是 Widget 就行 ; 代码示例 : /// 滑动组件 , 界面的核心元素 body...私有变量 , 即可控制 BottomNavigationBar 的选中状态 ; BottomNavigationBar 主动设置选中状态 : BottomNavigationBar 的 onTap...BottomNavigationBar 底部导航栏中点击导航按钮 , 切换页面 , 使用 PageView 的 PageController 的 jumpToPage 方法进行页面跳转 ; PageView

    4.4K20

    Flutter跨平台移动端开发

    ---- Padding(间距) 使用 padding 标签可以给子 widget 添加间距 const Padding({ Key key, @required this.padding...= null), super(key: key, child: child); all:指定四个方向使用同一间距 fromLTRB:四个方向间距分别制定 only:指定单一具体方向间距...widget 的限制没有起作用,但是实际上它只是没有影响子 widget 的大小,但还是占有了响应的空间 ---- DecoratedBox(装饰盒) decoratedBox 可以给子 widget 绘制前、增添一个装饰...background = 子 widget 之后绘制,foreground = 子 widget 之前绘制 child:子 widget /** * @des DecoratedBox Widget...---- Container(组合容器) container 是各种我们已知的 widget 的组合,使用它可以实现装饰、变换、限制等各种效果 Container({ Key key,

    2.8K40

    flutter中bottomNavigationBar切换组件保存状态方案

    原文链接 https://www.aiprose.com/blog/107 我们开发的时候用底部导航栏是很常见的,flutter给我们默认带了bottomNavigationBar,但是发现你直接这样写的时候...点击导航栏切换组建的时候,每次都会刷新状态,这用户体验是很不好的,今天给大家一种效率超高的解决方案,就是用PageView+AutomaticKeepAliveClientMixin组合实现状态保存,切换组件的时候刷新...; } @override Widget build(BuildContext context) { initData(); return Scaffold( body...2.组件中实现AutomaticKeepAliveClientMixin 让我们的state实现with AutomaticKeepAliveClientMixin,必须要重写一个方法 @override...这两个必须要组合使用,才能实现保存状态刷新,每个需要保存状态的组件都要with AutomaticKeepAliveClientMixin

    1.8K20

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

    // 设置标题 title: Text("设置") ) ],), // Container 容器使用...回调事件 , 传入一个匿名回调函数 , 该匿名方法中回调 StatefulWidget 组件的 setState 设置状态的方法 , 修改当前选中索引 , 之后 BottomNavigationBar...底部导航栏切换选项卡界面 ---- BottomNavigationBar 底部导航栏的 onTap 回调方法中 , 设置当前选中的选项卡索引 , 根据该索引值修改 Scaffold 组件的 body...对应组件 , 如果选项卡索引为 0 , 显示组件 0 , 如果选项卡索引为 1 , 那么显示组件 1 ; 设置 body 字段值时 , 根据当前的被中选的选项卡索引值 , 判断应该显示哪个组件 ; body...body: _currentSelectedIndex == 0 ?

    2.3K00
    领券