目录
一、Tabbar问题
二、底部Tabbar
三、顶部Tabbar
最近一直忙于基于FreeSwitch的Sip融合通信了,没有及时更新文章。技术的更新太快了,每天都会出现各种框架和技术技巧,是学不完的,也只能先精通一种语言,然后熟练应用于工作中,这个时候可以学一些相关的技术,就显得你比较牛了。闲言少叙,言归正传,今天介绍如何优化Tabbar并没有从底层分析,只是快速解决了这类问题。
一、Tabbar问题
先看我写的《六、Flutter自定义Tabbar》,效果图如下:
底部Tabbar切换时currentPage会被销毁,重新加载页面。底部Tabbar每切换一次,就请求一次网络,造成了资源浪费,用户体验也比较差。
顶部Tabbar和底部Tabbar存在的问题几乎一样,都是切换时页面重复刷新。
二、底部Tabbar
底部Tabbar只需要currentPage不重复渲染就可以了,可以使用IndexedStack来解决这个问题。
页面重复渲染的代码:
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Color.fromRGBO(244, 245, 245, 1.0),
bottomNavigationBar: BottomNavigationBar(
type:Bot