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

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

34资源网2022-07-29546

本文实例为大家分享了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

分享给朋友:

相关文章

50句非常励志的短句,正能量的励志句子

50句非常励志的短句,正能量的励志句子

1、人非要经历一番不同平时的劫难才能脱胎换骨,成为真正能解决问题的人。…

智能电视和普通电视的区别,智能电视好还是普通电视好?

智能电视和普通电视的区别,智能电视好还是普通电视好?

好多人对智能电视和普通的区别还分不大清楚,今天小编就将智能电视和和普通电视做个简单明了的介绍,希望对大家有所帮助。简单的讲,就是智能电视可以看直播电视,也可以点播一些网络电视来看,这个就是最大的区别。当然,有些智能电视还有储存功能,比如,可…

用白面书生造句,看看这七句有哪句适合你?

用白面书生造句,看看这七句有哪句适合你?

1、他是个手无缚鸡之力的白面书生。…

这4类项目,投资人打死都不想投

这4类项目,投资人打死都不想投

很多创业者常感慨:明明自己的项目很好,但聊了很多投资人,却没人愿意投,这是为什么呢? 我们知道融资成功的关键,在于要让投资人看到项目的价值。这个价值,不仅仅是你的项目好就行,除了项目本身,投资人还有很多关注点,如果这些地方不“达标”,投资人…

网易云:生而破发,我很抱歉

网易云:生而破发,我很抱歉

图源:摄图网 编者按:本文来自微信公众号财经新知(ID:caijingxinzhi),创业邦经授权转载 云村村长磊磊昨天好忙哦,搞了一个元宇宙的敲钟仪式,但还是阻挡不了破发的命运。 村长昨天敲钟分享的四首歌还记得吗:四次敲锣,四种心境。如…