时间:2021-05-20
本文实例为大家分享了Flutter实现底部导航的具体代码,供大家参考,具体内容如下
BottomNavigationBar使用
底部导航栏 主文件 main.dart (注意导入文件路径)
import 'package:flutter/material.dart';import './views/firstPage.dart';import './views/secondPage.dart';import './views/thirdPage.dart';//首先导入三个界面void main() { runApp(new MyApp());}class MyApp extends StatefulWidget { @override _MyHomePageState createState() => new _MyHomePageState();}class _MyHomePageState extends State<MyApp> with TickerProviderStateMixin{ int _tabIndex = 0; List<BottomNavigationBarItem> _navigationViews; var appBarTitles = ['首页', '发现', '我的']; PageController pageController; var _body; initData() { _body = new IndexedStack( children: <Widget>[new FirstPage(), new SecondPage(), new ThirdPage()], index: _tabIndex, ); } @override void initState() { super.initState(); _navigationViews = <BottomNavigationBarItem>[ new BottomNavigationBarItem( icon: const Icon(Icons.home), title: new Text(appBarTitles[0]), backgroundColor: Colors.blue, ), new BottomNavigationBarItem( icon: const Icon(Icons.widgets), title: new Text(appBarTitles[1]), backgroundColor: Colors.blue, ), new BottomNavigationBarItem( icon: const Icon(Icons.person), title: new Text(appBarTitles[2]), backgroundColor: Colors.blue, ), ]; } final navigatorKey = GlobalKey<NavigatorState>(); @override Widget build(BuildContext context) { initData(); return new MaterialApp( navigatorKey: navigatorKey, theme: new ThemeData( primaryColor: Colors.blue, accentColor: Colors.blue ), home: new Scaffold( appBar: new AppBar( title: new Text( appBarTitles[_tabIndex], style: new TextStyle(color: Colors.white), ), ), body: _body, bottomNavigationBar: new BottomNavigationBar( items: _navigationViews .map((BottomNavigationBarItem navigationView) => navigationView) .toList(), currentIndex: _tabIndex, type: BottomNavigationBarType.fixed, onTap: (index) { setState(() { _tabIndex = index; }); }, ), ), ); }}底部包含三个导航按钮,分别对应三个界面:
firstPage.dart
import 'package:flutter/material.dart';class FirstPage extends StatefulWidget { @override State<StatefulWidget> createState() => new FirstPageState();}class FirstPageState extends State<FirstPage> { @override Widget build(BuildContext context) { return new Scaffold( body: new Center( child: new Text('这是第一个界面'), ), ); }}secondPage.dart
import 'package:flutter/material.dart';class SecondPage extends StatefulWidget { @override State<StatefulWidget> createState() => SecondPageState();}class SecondPageState extends State<SecondPage> { @override Widget build(BuildContext context) { return new Scaffold( body: new Center( child: new Text("这是我第二个页面"), ), ); }}thirdPage.dart
import 'package:flutter/material.dart';class ThirdPage extends StatefulWidget { @override State<StatefulWidget> createState() => ThirdPageState();}class ThirdPageState extends State<ThirdPage>{ @override Widget build(BuildContext context) { return new Scaffold( body: new Center( child: new Text('我是界面三'), ), ); }}运行截图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了Flutter实现底部导航栏的具体代码,供大家参考,具体内容如下效果实现先将自动生成的main.dart里面的代码删除,import'pac
大家最近都在讨论新鲜技术-flutter,小编也在学习中,遇到大家都遇到的问题,底部导航。下面给大家贴出底部导航的编写,主要参考了lime这个项目。上代码一.在
本文实例为大家分享了flutter实现不规则底部导航栏的具体代码,供大家参考,具体内容如下实现底部导航栏并点击切换页面可简述为有三种方式TabBar+TabBa
前言本文主要介绍的是关于Flutter实现底部不规则导航的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧实现方法:1、main.dar
本文实例为大家分享了Flutter底部导航栏的实现代码,供大家参考,具体内容如下老规格,先看图:程序主结构如下:1.在程序主入口文件main.dart添加如下代