当前位置:首页 > 谈天说地 > 正文内容

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

34资源网2022年07月29日 10:11430

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

效果展示:

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

看完文章,还可以用支付宝扫描下面的二维码领取一个支付宝红包,目前可领1-88元不等

支付宝红包二维码

除了扫码可以领取之外,大家还可以(复制 720087999 打开✔支付宝✔去搜索, h`o`n.g.包哪里来,动动手指就能领)。

看下图所示是好多参与这次活动领取红包的朋友:

支付宝红包

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

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

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

分享给朋友:

相关文章

2020年创业做什么项目投资小回报高?
2020年创业做什么项目投资小回报高?

相信很多人都有过创业的想法,有的可能一直处于想象中,从未实施过,有的可能已经在行动了。作为正在想着如何创业的人,如果你是土豪,可以忽略本文,如果不是,我想你有必要看下2020年创业做什么项目投资小回报高?因为这下面的项目介绍对你或许有帮助。...

开一家一元水洗店创业的点子分享
开一家一元水洗店创业的点子分享

洗衣机是很多人家中必备的电器。但是在很多经济欠发达的地区,也有很多人家里没有洗衣机。在兰州市一些城乡接合部,一些挂有“1元洗衣店”牌子的小店,给居民们提供便利的同时,已悄然成为一种新兴的赚钱行业。1元店老板马维德就是他们中的佼佼者,他不但走...

古罗马大诗人贺拉斯的两句至理名言分享
古罗马大诗人贺拉斯的两句至理名言分享

1、苦难显才华,好运隐天资。2、人人皆有弱点,谁若想要寻个没有缺点的朋友,就永远找不着他所要追寻的。...

联想乐pad平板电脑有哪些版本(平板电脑排行榜性价比)
联想乐pad平板电脑有哪些版本(平板电脑排行榜性价比)

对于安卓平板电脑行业而言,创新相对来说比较困难。一方面,安卓系统的功能早已经被各方挖掘殆尽;另一方面,从整个平板电脑行业大环境来看,iPad阵营坚固的护城河也影响着安卓阵营的创新欲望。再加上时下热衷于投身平板电脑行业的品牌本来就不像以往那么...

拉夏贝尔启示录:扩张只会“一地鸡毛”
拉夏贝尔启示录:扩张只会“一地鸡毛”

图源:摄图网 编者按:本文来自微信公众号蓝莓财经(ID:ITparty),作者:蓝莓君,创业邦经授权转载 11月22日晚间,拉夏贝尔发布关于被债权人申请破产清算的提示性公告。24日“拉夏贝尔被申请破产清算”登上热搜第一。 拉夏贝尔的跌落,...

联想之鉴,大厂“芯”领神会
联想之鉴,大厂“芯”领神会

编者按:本文转自光子星球,作者文烨豪,编辑吴先之,创业邦经授权转载。 近日,阿里云宣布,达摩院成功研发出存算一体芯片。腾讯造芯的波澜还未平复,阿里便再次出招,造芯似乎成为了互联网巨头们的新常态。 就拿2021年来说,百度宣布昆仑2芯片量...