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

Flutter定义tabbar底部导航路由跳转的方法

34资源网2022-07-29423

本文实例为大家分享了flutter定义tabbar底部导航路由跳转的具体代码,供大家参考,具体内容如下

效果展示

整体实现的目录结构

第一步 把三个页面放到tabs里 category.dart || home.dart || setting.dart

在这里我只展示 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("我是首页组件");
  }
}

在 tabs.dart 里import 引入三个页面

import 'package:flutter/material.dart';
import 'tabs/home.dart';
import 'tabs/category.dart';
import 'tabs/setting.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(),
    settingpage(),
  ];
  @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;
          });
        },
        iconsize: 30.0, //icon的大小
        fixedcolor: colors.red, //选中的颜色
        type: bottomnavigationbartype.fixed, //配置底部tabs可以有多个按钮
        //定义导航栏的图片+名称
        items: [
          bottomnavigationbaritem(icon: icon(icons.home), title: text("首页")),
          bottomnavigationbaritem(
              icon: icon(icons.category), title: text("分类")),
          bottomnavigationbaritem(
              icon: icon(icons.settings), title: text("设置")),
        ],
      ),
    );
  }
}

main.dart

import 'package:flutter/material.dart'; //快捷方式:fim
import 'pages/tabs.dart';

void main() {
  runapp(myapp());
}

//自定义组件
class myapp extends statelesswidget {
  @override
  widget build(buildcontext context) {
    // todo: implement build
    return materialapp(
      home: tabs(),
      theme: themedata(primaryswatch: colors.deeporange),
      debugshowcheckedmodebanner: false,
    );
  }
}

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

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

快手极速版二维码

快手极速版新人见面礼

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

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

快手极速版邀请好友奖励

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

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

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

分享给朋友:

相关文章

如何开始自媒体写作,试试这四个方法吧

如何开始自媒体写作,试试这四个方法吧

随着现在自媒体平台的不断出现,写作大神也层出不穷,月入过万的人也是大有人在。很多新手看到人家收入高,也都想尝试下写作,注册一大堆账号。但是很多人做了一段时间之后也就搁置了,要问原因为什么,统一回复“写文章太难了”整不了。…

哪家的云主机好(国内五大云主机服务商)

哪家的云主机好(国内五大云主机服务商)

导言:博睿数据(股票代码688229)十余年专注APM领域,已为超过2000余家大型企业提供专业数据服务。依托先进的测评技术及丰富的行业经验,博睿宏远倾力打造了一个公开透明的性能测评栏目——【Bonree指数】。该栏目致力于呈现各行业的整体…

融资丨「镭昱半导体」获千万美元Pre-A轮融资,全彩Micro-LED微显示芯片助力元宇宙发展

融资丨「镭昱半导体」获千万美元Pre-A轮融资,全彩Micro-LED微显示芯片助力元宇宙发展

创业邦获悉,近日,镭昱半导体(Raysolve)宣布完成千万美元Pre-A轮融资,由高榕资本领投,耀途资本跟投,泰合资本担任独家财务顾问。至此,在短短半年内,镭昱半导体完成两轮融资,累计获得投资近亿元人民币。本轮融资将用于公司的全球首款标准…

融资丨「奕斯伟计算」完成25亿元C轮融资,目标物联网芯片领域全球领导者

融资丨「奕斯伟计算」完成25亿元C轮融资,目标物联网芯片领域全球领导者

创业邦获悉,12月1日,AIoT芯片与解决方案提供商北京奕斯伟计算技术有限公司(以下简称:奕斯伟计算)宣布完成25亿元人民币C轮融资,由金石投资和中国互联网投资基金联合领投,尚颀投资、国开科创、华新投资等跟投,老股东 IDG、君联资本、刘益…

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

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

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

这家带有ESG基因的SaaS公司,如何定义未来的服装行业?

这家带有ESG基因的SaaS公司,如何定义未来的服装行业?

编者按:本文转自GGV纪源资本,创业邦经授权转载。 随着新一轮科技革命和产业变革,服装行业进行数智化转型升级已经成为了行业共识,但是多数企业对服装智能制造转型升级系统性认识不足,传统大批量流水线的生产方式无法满足市场“多款式”、“小批量”、…