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

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

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

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

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

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

支付宝红包二维码

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

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

支付宝红包

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

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

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

分享给朋友:

相关文章

阳台盆栽种什么比较好养?这九种植物非常适合阳台种植
阳台盆栽种什么比较好养?这九种植物非常适合阳台种植

阳台盆栽种什么比较好养?在阳台养花种菜的小伙伴,肯定知道下面这9种植物,今天我就选出来9种有花,也有水果,个人认为好养,而且下面还有三种水果还比较好吃,家里到时候不用买水果了。1、矮牵牛矮牵牛一直都是非常受欢迎的盆栽花卉,它们有着七彩的花色...

分享30句用被刺造句的句子
分享30句用被刺造句的句子

1、黄昏已经谢去,夜幕早已铺开。高高的法国梧桐,被刺眼的白色路灯照亮。在黑色的夜空里镶了一圈又一圈攫绿,有时被拂过的夜风飘动,发出轻轻的沙沙声,只那么一阵,就消失在无限的宁静之中。2、一个人的羞耻心在基本一点上被刺痛,那么,它的余波会在不知...

打不死的小强励志语句,关于小强的7个句子分享
打不死的小强励志语句,关于小强的7个句子分享

1、野火烧不尽,春风吹又生用打不死的小强来形容,真的是再合适不过了2、命中注定无法改变,总觉得自己是打不死的小强,这下终于生病了,最对不起的就是自己了3、好好干吧!要成为一名打不死的小强。无论别人怎样,你都要成为那个开心,优秀的自己,好吗?...

扫地机器人市场的2021:后浪翻涌,前浪头疼
扫地机器人市场的2021:后浪翻涌,前浪头疼

编者按:本文来自锋见,创业邦经授权发布。 转眼2021年已接近尾声,2022年即将来临。回顾过去这一年,注定是不平凡的一年,特别是对于扫地机器人行业来说,2021年发生了不少大事,对行业影响深远。今天我们就来盘点和点评一下。 科技改变生活...

柳夜熙一夜暴粉,顶级品牌悉数入局,元宇宙的热点不好蹭
柳夜熙一夜暴粉,顶级品牌悉数入局,元宇宙的热点不好蹭

图源:摄图网 编者按:本文来自微信公众号深响(ID:deep-echo),作者:郭瑞灵,创业邦经授权转载 毋庸置疑,“元宇宙”绝对是当下最火的概念。 海外,Facebook已经改名Meta并宣布从社交媒体转型为“元宇宙”公司,“元宇宙”概...

pdf如何转成图片格式(教你简单免费的方法)
pdf如何转成图片格式(教你简单免费的方法)

现在的pdf应用得很广泛,由于它可以不依赖操作系统的语言和字体及显示设备,阅读起来很方便。我们在工作中几乎每天都会使用到PDF文件,有时候我们需要将PDF文件导出成图片格式的文件,这样更方便我们使用。那么问题来了,pdf如何变成图片格式...