博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flutter底部导航栏的实现
阅读量:6330 次
发布时间:2019-06-22

本文共 2896 字,大约阅读时间需要 9 分钟。

效果

实现

先将自动生成的main.dart里面的代码删除,并创建app.dart文件作为app的入口文件

import 'package:flutter/material.dart';import 'package:flutter_guohe/pages/main.dart';void main() {  runApp(new Guohe());}复制代码

创建main.dart作为首页的页面文件

class Guohe extends StatefulWidget {  @override  GuoheState createState() => new GuoheState();}class GuoheState extends State
{ @override Widget build(BuildContext context) { }}复制代码

创建today.dart、kb.dart、playground.dart三个页面文件作为tabview的填充文件,这里用playground.dart为例。

import 'package:flutter/material.dart';class Playground extends StatefulWidget {  @override  PlaygroundState createState() => new PlaygroundState();}class PlaygroundState extends State
{ @override Widget build(BuildContext context) { return new MaterialApp( home: new Scaffold( appBar: new AppBar( title: new Text("操场"), backgroundColor: Color.fromARGB(255, 119, 136, 213), //设置appbar背景颜色 centerTitle: true, //设置标题是否局中 ), body: new Center( child: new Text('操场'), ), ), ); }}复制代码

main.dart的完整代码

/** * APP的主入口文件 */import 'package:flutter/material.dart';import 'package:flutter_guohe/pages/main/today.dart';import 'package:flutter_guohe/pages/main/playground.dart';import 'package:flutter_guohe/pages/main/kb.dart';import 'package:flutter_guohe/pages/main/leftmenu.dart';import 'package:flutter_guohe/common/eventBus.dart';//果核的主界面class Guohe extends StatefulWidget {  @override  GuoheState createState() => new GuoheState();}class GuoheState extends State
with SingleTickerProviderStateMixin { TabController controller; @override void initState() { controller = new TabController(length: 3, vsync: this); } @override void dispose() { controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return new MaterialApp( home: new Scaffold( drawer: new LeftMenu(), body: new TabBarView( controller: controller, children:
[ new Today(), new Kb(), new Playground(), ], ), bottomNavigationBar: new Material( color: Colors.white, child: new TabBar( controller: controller, labelColor: Colors.deepPurpleAccent, unselectedLabelColor: Colors.black26, tabs:
[ new Tab( text: "今日", icon: new Icon(Icons.brightness_5), ), new Tab( text: "课表", icon: new Icon(Icons.map), ), new Tab( text: "操场", icon: new Icon(Icons.directions_run), ), ], ), ), ), ); }}复制代码

其中

labelColor: Colors.deepPurpleAccent,unselectedLabelColor: Colors.black26,复制代码

第一个属性是控制标签颜色,这里我选了紫色,第二个属性是未选中标签时的颜色。

转载地址:http://cwboa.baihongyu.com/

你可能感兴趣的文章
降级论
查看>>
wampServer连接oracle
查看>>
CentOS 6.5下编译安装新版LNMP
查看>>
Android Picasso
查看>>
top命令
查看>>
javascript的作用域
查看>>
新形势下初创B2B行业网站如何经营
查看>>
初心大陆-----python宝典 第五章之列表
查看>>
java基础学习2
查看>>
sysbench使用笔记
查看>>
有关电子商务信息的介绍
查看>>
NFC·(近距离无线通讯技术)
查看>>
多线程基础(三)NSThread基础
查看>>
PHP的学习--Traits新特性
查看>>
ubuntu下,py2,py3共存,/usr/bin/python: No module named virtualenvwrapper错误解决方法
查看>>
Ext.form.field.Number numberfield
查看>>
Linux文件夹分析
查看>>
解决部分月份绩效无法显示的问题:timestamp\union al\autocommit等的用法
查看>>
nginx 域名跳转 Nginx跳转自动到带www域名规则配置、nginx多域名向主域名跳转
查看>>
man openstack >>1.txt
查看>>