android开发分享Flutter实现顶部导航栏功能实例为大家分享了flutter实现顶部导航栏的具体代码,供大家参考,具体内容如下
上述就是android开发分享Flutter实现顶部导航栏功能的全部内容,如果对大家有所用处且需要了解更多关于Android学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
import 'package:flutter/material.dart'; class appbardemopage extends statelesswidget { const appbardemopage({key key}) : super(key: key); @override widget build(buildcontext context) { return defaulttabcontroller( //导航栏的长度 length: 4, child: scaffold( appbar: appbar( title: text("appbardemopage"), backgroundcolor: colors.red, centertitle: true, bottom: tabbar( // isscrollable: true, //可滚动 indicatorcolor: colors.bluegrey, //指示器的颜色 labelcolor: colors.bluegrey, //选中文字颜色 unselectedlabelcolor: colors.white, //为选中文字颜色 // indicatorsize: tabbarindicatorsize.label, //指示器与文字等宽 tabs: <widget>[ tab(text: "热门"), tab(text: "推荐"), tab(text: "好友"), tab(text: "动态"), ], ), ), body: tabbarview( children: <widget>[ container( child: text("hello"), ), listview( children: <widget>[ listtile( title: text("第二个tab"), ) ], ), listview( children: <widget>[ listtile( title: text("第三个tab"), ) ], ), listview( children: <widget>[ listtile( title: text("第四个tab"), ) ], ), ], ), ), ); } }
如果底部导航栏和顶部导航栏同时存在的
在这里只写顶部导航栏的实现,底部的可以参照我之前的文章
import 'package:flutter/material.dart'; class categorypage extends statefulwidget { categorypage({key key}) : super(key: key); @override _categorypagestate createstate() => _categorypagestate(); } class _categorypagestate extends state<categorypage> { @override widget build(buildcontext context) { return defaulttabcontroller( length: 4, child: scaffold( appbar: appbar( title: row( children: <widget>[ expanded( child: tabbar( tabs: <widget>[ tab(text: "精选"), tab(text: "电影"), tab(text: "动漫"), tab(text: "nba"), ], ), ) ], ), ), body: tabbarview( children: <widget>[ listview( children: <widget>[ listtile( title: text("第一个tab"), ) ], ), listview( children: <widget>[ listtile( title: text("第二个tab"), ) ], ), listview( children: <widget>[ listtile( title: text("第三个tab"), ) ], ), listview( children: <widget>[ listtile( title: text("第四个tab"), ) ], ), ], ), ), ); } }
这么写是对导航栏点击做的监听,实现效果一样
import 'package:flutter/material.dart'; class navbarpage extends statefulwidget { navbarpage({key key}) : super(key: key); @override _navbarpagestate createstate() => _navbarpagestate(); } class _navbarpagestate extends state<navbarpage> with singletickerproviderstatemixin { tabcontroller _tabcontroller; @override void initstate() { super.initstate(); //length为导航栏的个数 _tabcontroller = new tabcontroller(vsync: this, length: 2); _tabcontroller.addlistener(() { print(_tabcontroller.index);//打印点击的索引 }); } @override widget build(buildcontext context) { return scaffold( appbar: appbar( title: text("navbar"), bottom: tabbar( controller: this._tabcontroller, tabs: <widget>[ tab(text: "热销"), tab(text: "推荐"), ], ), ), body: tabbarview( controller: this._tabcontroller, children: <widget>[ center(child: text("热销")), center(child: text("推荐")) ], )); } }
以上就是android开发分享Flutter实现顶部导航栏功能的全部内容,希望对大家的学习有所帮助,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/addevelopment/1204725.html