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

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

; 设置当前索引 : BottomNavigationBar的 currentIndex 属性设置当前底部导航栏的选中索引 , 为其设置一个变量 , 改变该变量值 , 通过 setState 方法更新...UI 显示 ; 设置点击方法 : BottomNavigationBar 的 onTap 属性设置点击方法 , 传入 index 索引 , 该索引值是被点击的按钮索引 , 在该方法主要操作当前的 currentIndex...类型 , 主要用于控制 PageView页面跳转 ; 滑动回调事件 : onPageChanged 参数设置滑动回调事件 , 传入 index 索引值 , 在该事件 , 调用 setState...页面滑动 /// 这里设置 PageView 页面滑动也能 onPageChanged: (index) { setState(() { // 更新当前索引值...当前选中的导航索引 currentIndex: _currentIndex, /// 底部导航栏的点击方法 onTap: (index) { // 控制 PageView 跳转到指定的页面

4.1K20

探索 Flutter 的 NavigationRail:使用详解

介绍 在 Flutter ,NavigationRail 是一个垂直的导航栏组件,用于在应用程序中提供导航功能。它通常用于更大屏幕空间的设备,平板电脑和桌面应用程序。...您可以将不同的页面放置在 IndexedStack ,并根据导航栏的选定项设置索引来显示相应的页面。...然后,我们使用页面控制器 _pageController 来将 PageView当前页设置为选定的索引,从而切换到相应的页面。...通过这种方法,您可以实现根据选定的导航栏项切换不同的页面内容,为用户提供直观的导航体验。您还可以根据需要将其他页面添加到 PageView ,以扩展应用程序的功能。 6....与页面切换组件的无缝集成: NavigationRail 可以与页面切换组件( PageView 或 IndexedStack)结合使用,以实现根据选定的导航栏项切换不同的页面内容,从而提供更丰富的用户体验

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

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

BottomNavigationBar 底部导航栏组件 , 该底部导航栏的 item 设置图标与文字组件数组 , onTap 字段设置 ValueChanged 点击回调方法 , 通过该方法设置当前选择的页面索引值...controller 和 List children 字段 , PageController 用于控制 PageView 页面跳转 , children 中就是 PageView 封装的多个界面组件...int currentIndex 当前索引 , ValueChanged?...fixedColor, super(key: key); 代码示例 : BottomNavigationBar( /// 设置当前的导航页面索引 currentIndex: _currentIndex...(int page) 方法 , 进行页面跳转 ; jumpToPage 页面跳转在底部菜单栏的 onTap 点击事件调用 , 更新当前页面 , 需要调用 setState 方法更新界面 ; PageView

5.6K50

Flutter】StatefulWidget 组件 ( PageView 组件 )

文章目录 一、PageView 组件 二、PageView 组件完整代码示例 三、 相关资源 一、PageView 组件 ---- PageView 组件构造函数 : 构造函数的可选参数就是 PageView...组件 children 设置 : children 字段设置其要滑动切换的各个页面组件 ; 一般使用 Container 封装复杂的组件 ; 代码示例 : 下面的代码就是 PageView 设置了三个滑动切换的组件...StatefulWidgetPageState(); } class _StatefulWidgetPageState extends State { /// 当前被选中的底部导航栏索引...items 可以设置多个 BottomNavigationBarItem bottomNavigationBar: BottomNavigationBar( // 设置当前选中的底部导航索引...onTap: (index){ // 回调 StatefulWidget 组件的 setState 设置状态的方法 , 修改当前选中索引 // 之后 BottomNavigationBar

1.1K00

掌握Flutter底部导航栏:畅游导航之旅

Flutter底部导航栏概述 在Flutter,底部导航栏是一种常见的用户界面组件,通常用于展示应用程序的主要功能模块或不同页面的快速导航入口。...在接下来的章节,我们将深入探讨如何在Flutter创建和定制底部导航栏,包括基本结构的构建、外观的定制、与页面的切换以及状态管理等方面的内容,帮助读者全面掌握底部导航栏的实现技巧与方法。 3....在Flutter,实现底部导航栏与页面切换通常有两种常见的方式:使用IndexedStack和利用PageView。本节将分别介绍这两种方式的实现方法。...5.2 利用PageView实现页面滑动切换 另一种常见的底部导航栏与页面切换方式是利用Flutter提供的PageView组件,它可以实现页面的滑动切换效果。...通过将多个页面放置在一个PageView,并配合底部导航栏实现页面切换,可以为用户提供更加流畅的导航体验。

12710

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

前言: 在Flutter应用,导航栏切换页面默认情况下会丢失原页面状态,即每次进入页面时都会重新初始化状态,如果在initState打印日志,会发现每次进入时都会输出,显然这样增加了额外的开销,...它拥有一个固定的底部导航以及首页的顶部导航,可以看到不管是点击底部导航切换页面还是在首页左右侧滑切换页面,之前的页面状态都是始终维持的,下面就具体介绍下如何在flutter实现类似喜马拉雅的导航效果...底部导航,在body展示当前选中的子页面。...然而,如果你的代码和我上面的类似,body并没有使用PageView或TabBarView,很不幸的告诉你,踩到坑了,这样是无效的,原因后面再详述。...更新的home.dart文件如下: /// home.dart import 'package:flutter/material.dart'; import '.

2.5K30

Flutter 专题】11 底部状态栏了解下?

和尚今天来整理一下在学习测试 Flutter 时需用到的底部导航栏 BottomNavigationBar,使用方式很简单,和尚感觉效果比原生的 Android 要好一些。...Android 的 ViewPager,和尚会在今后的测试详细说明,今天主要是使用基本方法展示主模块内容;如下: body: new PageView.builder( itemBuilder:..."这里是【HomePage】->【签到】页面" : "这里是【HomePage】->【我】页面"; return new Center( child: new Container...bottomNavigationBar: new BottomNavigationBar( type: BottomNavigationBarType.fixed, items: [ ... ], //设置当前索引...实用小贴士 通过点击 BottomNavigationBar 对 PageView 切换过程,可以设置动画过程,也可以直接跳转到对应页面,需要设置 animateToPage 或 jumpToPage

1.6K41

Flutter实现App功能引导页

App功能介绍页,主要是由介绍app功能的几张图片和当前页指示符组成,如下效果 ?...Colors.white, child: Stack( children: <Widget [ ], ), )); } } AppFuncBrowse 就是我们功能介绍页,上面编译运行功能,...我们先来着手实现功能介绍页面切换,PageView主要有两类构建函数,一个是懒加载页面(适合页面很多时使用),一个是适合少量页面的一次性加载的,我们实例显示3个页面,就简单的用这种方式, PageView...Colors.white70 : Colors.black12)); } 滑动PageView,需要更新_pageIndex,从而对应的更新当前页对应的点的颜色 return PageView(...换页的事件,这里需要调用setState从而使Widget重建更新当前页的点颜色 到这里为止就剩下点击点更新PageView的功能了,我们来实现点击功能,就是监听点击手势,代码如下 _handlePageIndicatorTap

2K10

Flutter GetX使用---简洁的魅力!

在反复的查阅官方文档,使用一个全局Bloc的方式,实现了“伪”跨页面交互,详细可查看:flutter_bloc使用解析;fish_redux的广播机制是可以比较完美的实现跨页面交互的,我也写了一篇几万字介绍如何使用该框架...下级页面能随意调用上级页面事件,且关闭页面,下次重进,数据也很自然重置了(全局Bloc不会重置,需要手动重置) [jump_getx] 实现 页面一 常规代码 logic 这里的自增事件,是供其它页面调用的...,请在onReady回调里面接收数据操作,onReady是在addPostFrameCallback回调调用,刷新数据的操作在onReady进行,能保证界面是初始加载完毕才进行页面刷新操作的 class...生命周期 在dispose回调处,把当前GetxController从整个GetxController管理链删除即可 class AutoDisposePage extends StatefulWidget...PageView切换到某个页面的时候,才会调用对应Page页面的build方法;对于PageView页面,控制器的注入过程,不能写在类中了,需要将其移入到build方法初始化。

7.1K103

Flutter底部tab切换保持页面状态的几种方法

第一种方式:采用IndexdStack IndexdStack和Stack一样,都是层布局控件,可以在一个控件上面放置另一个控件,但唯一不同的是,IndexdStack在同一时刻只能显示子控件的一个控件...createState() => _TabsState(); } class _TabsState extends State { int _currentIndex = 0;//记录当前选中哪个页面...使用IndexedStack来保持页面状态的优点就是配置简单,但是它也有很大的缺点:IndexedStack管理的子页面在一开始就全部一次性加载出来了,不管有没有显示出来,然后通过index属性来确定到底显示哪一个页面...createState() => _TabsState(); } class _TabsState extends State { int _currentIndex = 0;//记录当前选中哪个页面...,并配置PageView的controller属性 body: PageView( controller: this.

5.9K20

flutter仿微信底部图标渐变功能的实现代码

实现思路 在flutter,如果想实现上面的页面切换效果,必然会想到pageView。...pageView的controller可以监听到pageView的滚动事件,也可以获取pageView滚动的位置,所以我们在滚动事件根据位置去改变对应的图标颜色就可以实现了。...从一个页面滚动到另一个页面的过程,颜色都是线性渐变的,要获取这个过程的颜色可以使用flutter的Color类提供的lerp方法,作用是获取两种颜色之间的线性差值 ?...类型的, 把它减去当前页面的int类型就可以得出当前页面到下一个页面的偏移量了 double t = pageController.page - currentPage; //根据上一次的页面位置获得方向...在StreamBuilder根据pageView滚动事件传进来的参数控制图标颜色。

1.3K40
领券