Flutter自定义底部导航栏的方法

作者:兰叶书 时间:2022-01-10 15:48:33 

本文实例为大家分享了Flutter自定义底部导航栏的具体代码,供大家参考,具体内容如下

文件结构:

Flutter自定义底部导航栏的方法

main.dart

import 'package:flutter/material.dart';
import 'pages/tabs.dart';
?
void main() => runApp(new MyApp());
?
class MyApp extends StatelessWidget {
? @override
? Widget build(BuildContext context) {
? ? return MaterialApp(
? ? ? home: Tabs(),
? ? );
? }
}

tabs.dart

import 'package:flutter/material.dart';
import 'tabs/home.dart';
import 'tabs/category.dart';
import 'tabs/user.dart';
class Tabs extends StatefulWidget {
? Tabs({Key key}) : super(key: key);
? @override
? _TabsState createState() => _TabsState();
}
?
class _TabsState extends State<Tabs> {
? int _currentIndex = 0;
?
? List _pageList=[
? ? HomePage(),
? ? CategoryPage(),
? ? UserPage(),
? ];
?
?
? @override
? Widget build(BuildContext context) {
? ? return Scaffold(
? ? ? appBar: AppBar(
? ? ? ? title: Text('自定义底部导航'),
? ? ? ),
? ? ? body: this._pageList[this._currentIndex],
? ? ? bottomNavigationBar: BottomNavigationBar(
? ? ? ? currentIndex: this._currentIndex,
? ? ? ? onTap: (int index) {
? ? ? ? ? setState(() {
? ? ? ? ? ? this._currentIndex = index;
? ? ? ? ? });
? ? ? ? },
? ? ? ? items: [
? ? ? ? ? BottomNavigationBarItem(
? ? ? ? ? ? icon: Icon(Icons.home),
? ? ? ? ? ? title: Text('首页'),
? ? ? ? ? ),
? ? ? ? ? BottomNavigationBarItem(
? ? ? ? ? ? icon: Icon(Icons.category),
? ? ? ? ? ? title: Text('分类'),
? ? ? ? ? ),
? ? ? ? ? BottomNavigationBarItem(
? ? ? ? ? ? icon: Icon(Icons.supervised_user_circle),
? ? ? ? ? ? title: Text('会员'),
? ? ? ? ? ),
? ? ? ? ],
? ? ? ),
? ? );
? }
}

home.dart

import 'package:flutter/material.dart';
?
class HomePage extends StatefulWidget {
? HomePage({Key key}) : super(key: key);
?
? @override
? _HomePageState createState() => _HomePageState();
}
?
class _HomePageState extends State<HomePage> {
? @override
? Widget build(BuildContext context) {
? ? return Text('首页');
? }
}

category.dart

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 Text('分类');
? }
}

user.dart

import 'package:flutter/material.dart';
?
class UserPage extends StatefulWidget {
? UserPage({Key key}) : super(key: key);
?
? @override
? _UserPageState createState() => _UserPageState();
}
?
class _UserPageState extends State<UserPage> {
? @override
? Widget build(BuildContext context) {
? ? return Text('会员');
? }
}

效果展示:

Flutter自定义底部导航栏的方法

Flutter自定义底部导航栏的方法

Flutter自定义底部导航栏的方法

来源:https://blog.csdn.net/u013227399/article/details/103787189

标签:Flutter,导航栏
0
投稿

猜你喜欢

  • Java服务假死之生产事故的排查与优化问题

    2022-01-12 04:03:37
  • Android多线程学习实例详解

    2022-02-17 19:00:56
  • C#实现飞行棋(Winform)

    2023-08-07 07:08:55
  • java实现ftp文件上传下载功能

    2023-04-13 19:31:30
  • springboot整合token的实现代码

    2023-11-10 19:02:03
  • C#中使用CAS实现无锁算法的示例详解

    2023-07-01 20:57:44
  • C#使用NPOI实现Excel和DataTable的互转

    2022-12-06 22:51:05
  • Java Idea高效率配置技巧实例解析

    2023-06-05 13:24:42
  • Java中自动生成构造方法详解

    2023-06-21 14:17:44
  • IntelliJ IDEA优化配置的实现

    2023-01-01 03:29:55
  • 教你5分钟轻松搞定内存字节对齐

    2022-05-03 08:35:10
  • 详解java.lang.reflect.Modifier.isInterface()方法

    2023-07-27 18:25:25
  • c++如何实现跳表(skiplist)

    2022-02-10 18:05:58
  • spring security在分布式项目下的配置方法(案例详解)

    2022-12-26 03:45:49
  • Java Class 加密工具 ClassFinal详解

    2023-02-10 14:58:48
  • Java技能点之SimpleDateFormat进行日期格式化问题

    2023-09-09 01:50:26
  • Android获取点击屏幕的位置坐标

    2023-12-14 21:18:31
  • java用applet画图用到的方法(涉及双缓冲)

    2021-07-09 17:27:32
  • java的泛型你真的了解吗

    2022-07-25 09:40:06
  • Java线程中的常见方法(start方法和run方法)

    2023-11-16 17:41:32
  • asp之家 软件编程 m.aspxhome.com