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

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

34资源网2022-07-29406

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

分享给朋友:

相关文章

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

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

1、黄昏已经谢去,夜幕早已铺开。高高的法国梧桐,被刺眼的白色路灯照亮。在黑色的夜空里镶了一圈又一圈攫绿,有时被拂过的夜风飘动,发出轻轻的沙沙声,只那么一阵,就消失在无限的宁静之中。…

背光键盘怎么开灯(有背光和无背光的区别)

背光键盘怎么开灯(有背光和无背光的区别)

机械键盘轴体一直是以樱桃(Cherry)最受大众欢迎,但近几年国产轴体的快速发展,让很多玩家开始享受到更“廉价”的产品。作为国内外设领军者,雷柏自产的雷柏轴已经获得众多游戏爱好者的好评。雷柏同时还有采用经典樱桃轴的产品,笔者最近收到雷柏V8…

华为p40pro参数配置(p40与p40pro参数对比)

华为p40pro参数配置(p40与p40pro参数对比)

据网友反馈,华为 P40/Pro 系列开始推送鸿蒙 HarmonyOS2.0.0.1 66 (C00E160R3P6),大小 1.26 GB。 IT之家获悉,本次更新相机将新增多机位拍摄模式,通过变换机位拍摄,获得镜头更丰富的精彩视频和照…

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

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

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

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

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

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

已覆盖70%前十大快递/快运客户,商用车后市场玩家「大车队长」眼中的轮胎“生命力”

已覆盖70%前十大快递/快运客户,商用车后市场玩家「大车队长」眼中的轮胎“生命力”

2020年,商用车后市场头部创业公司「大车队长」正式完成了数千万元人民币A轮融资,由经纬中国领投。融资后的一年里,大车队长成长迅速,还发布了全新的“5113”战略,即5年服务100万台车、1000万个轮位、完成300亿元营收。 截至目前,大…