目前的最优解:
main中使用BottomNavigator+pageview+automatickeepliveClientMixin的方法实现
1、BottomNavigator使用thme修改点击效果,将splashColor和highlightColor设置为transparent;
2、pageview禁用滑动效果,
3、main中使用with AutomicKeepAliveClientMixin
4、子页面使用statefulWidget并混入AutomicKeepAliveClientMixin
优点,不会再main的run方法中一次性加载所有的页面,而是第一次加载后就不会重新绘制了,降低了内存的消耗
将子页面包裹在indexedstack或者stack中都会在run的时候加载所有的界面,使用tabbarview的话还会也行,读者可以自行实验,下面附上源码,参考用,需要联系作者请添加qq535495438