当前位置:首页 > 谈天说地

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

34资源网2022-07-29630

本文实例为大家分享了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('会员');
  }
}

效果展示:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

看完文章,还可以扫描下面的二维码下载快手极速版领4元红包

快手极速版二维码

快手极速版新人见面礼

除了扫码领红包之外,大家还可以在快手极速版做签到,看视频,做任务,参与抽奖,邀请好友赚钱)。

邀请两个好友奖最高196元,如下图所示:

快手极速版邀请好友奖励

扫描二维码推送至手机访问。

版权声明:本文由34楼发布,如需转载请注明出处。

本文链接:https://www.34l.com/post/19994.html

分享给朋友:

相关文章

用一个仍然造句和用三个仍然造句
女人励志语录20句,满满的正能量句子

女人励志语录20句,满满的正能量句子

1、每一个太阳升起,老想带去期待的问候:让每日的气体全是清爽让每日的情绪全是伸展让每日的获得全是丰富!…

用不言谢造句17句分享

用不言谢造句17句分享

1、大恩不言谢,以后有什么用得上我的,尽管说!2、人们都说大恩不言谢,又说滴水之恩当涌泉相报,谢还是不谢?好为难!那今儿就不谢天不谢地,只谢朋友,谢谢你风雨一路的陪伴。感恩节快乐!3、大恩不言谢,我就是结草衔环,也不足为报。…

女人奋斗励志语录分享10句

女人奋斗励志语录分享10句

1、即便无人喝彩,也要守住自己的人生。每一次失败,都是成功的伏笔;每一次考验,都有一份收获;每一次泪水,都有一次醒悟;每一次磨难,都有生命的财富。每一次伤痛,都是成长的支柱。…

20句经典语录分享,​我们学会了告别,却低估了思念

20句经典语录分享,​我们学会了告别,却低估了思念

20句经典语录分享,我们学会了告别,却低估了思念,下面这些都是非常经典的语录,值得你看一下哦。…