Flutter_NavigationBar和Tabview共同实现

Flutter_NavigationBar和Tabview共同实现

一.TabBar和TabView基本实现

Flutter_NavigationBar和Tabview共同实现_第1张图片

①因为TabBar是动态组件所以使用了,一般静态推荐StatelessWidget.

②记得,源码我没看过,只知道具体实现,不写后面TabCootroller拿不到vsync。

③必须实现Controller,否则会报错,一个是TabBar()里面的Controller,还有配套TabBarView()里面的Controller必须是同一个。

需要实现

initialIndex:初始位置就是停留在那个页面,这里我写了0,就是停留第一个页面。如下

Flutter_NavigationBar和Tabview共同实现_第2张图片

然后页面里面可以自定义组件添加一些其他的东西,这里我只用了一个Text()组件,然后页面是可以手滑和点击的,自带了很好的动画效果。

二.Tabbar()和TabBarView()基本参数介绍

 

Flutter_NavigationBar和Tabview共同实现_第3张图片

Tabbar()都是按照indicator和lable进行设置鼠标悬停到上面一看就会,过于简单就不一一介绍了indicator是lable下面的白线参数自己可以调试。

三.实现NavigationBar()导航栏几行代码就搞定.

Flutter_NavigationBar和Tabview共同实现_第4张图片

前面TabBar()和TabBarview()的页面实现4个复制粘贴就好,写一个list()和index 为了后面加载其他页面,初始化状态,把页面添加到List()里面

Flutter_NavigationBar和Tabview共同实现_第5张图片

记得写super.initState();

然后BoootmNavigationBar(),需要实现几根基本的东西,

,高亮显示选中的目标,不写这个会失去动画效果。

,ontap,点击时候刷新,并且setstate刷新页面把点击的index传入到数组里面去,与body中对应,这样你点击的页面就会刷新跳转了

这里我选了几个常用的属性作为代表,分别是图标,图标下面文字还有背景颜色,

Flutter_NavigationBar和Tabview共同实现_第6张图片

下面是实现后的效果这样我们就得到了3X4,十二个页面可以供你发挥了,BottomNavigationItem()中使用不同的颜色可以得到很酷的动画效果。

Flutter_NavigationBar和Tabview共同实现_第7张图片

这样就基本实现了

2020 7/5更新

今天在写界面的过程中遇到一个Tabbar()组件的一个问题,Tabbar()中的指示器需要修成圆角如图

flutter TapBar自定义indicator、固定宽度、圆角、改变indicator和text的距离。

Flutter_NavigationBar和Tabview共同实现_第8张图片

这个问题特别好解决,进入UnderlineTabIndicator()组件,

Flutter_NavigationBar和Tabview共同实现_第9张图片

滑倒最下方修改

Flutter_NavigationBar和Tabview共同实现_第10张图片

将他的源码改成StrokeCap.round;即可实现。

flutter TapBar自定义indicator、固定宽度、圆角、改变indicator和text的距离参考下面的大佬的博客。

https://blog.csdn.net/pengbo6665631/article/details/103645037;

 

你可能感兴趣的:(flutter,android)