界面如图:

我们就从上节里面的app.dartt修改

目录:lib

lib/story

其它两个目录一样。

图片配置一下

app.dart

import 'package:flutter/material.dart';
import 'cast/cast.dart';
import 'story/story.dart';
import 'derivative/derivative.dart';
void main() => runApp(App()); class App extends StatefulWidget {
@override
_MyApp createState() => new _MyApp();
} class _MyApp extends State<App> {
// 当前选中页索引
var _currentIndex = ;
currentPage() {
switch (_currentIndex) {
case :
return new Story();
case :
return new CastApp();
case :
return new Derivative();
default:
}
} @override
Widget build(BuildContext context) {
// TODO: implement build
return new Scaffold(
// 底部导航按钮
bottomNavigationBar: new BottomNavigationBar(
// 通过fixedColor设置选中的item的颜色
type: BottomNavigationBarType.fixed,
// 当前页面索引
currentIndex: _currentIndex,
// 按下后设置当前页面索引
onTap: ((index){
setState(() {
_currentIndex = index;
});
}),
// 底部导航按钮选项
items: [
new BottomNavigationBarItem(
title:new Text(
'ストーリー',
style: TextStyle(
color: _currentIndex == ? Color(0xFF46c01b) : Color(0xff999999),
),
),
// 判断当前索引做图片切换显示
icon: _currentIndex == ? Image.asset('images/icon/sawako.jpg', width: 32.0, height: 28.0,) : Image.asset('images/icon/sawako.jpg', width: 32.0, height: 28.0,),
// backgroundColor:Colors.yellow[200]
),
new BottomNavigationBarItem(
title: new Text(
'キャラクター',
style: TextStyle(
color: _currentIndex == ? Color(0xFF46c01b) : Color(0xff999999),
),
),
icon: _currentIndex == ? Image.asset('images/icon/flower.png', width: 32.0, height: 28.0,) : Image.asset('images/icon/flower.png', width: 32.0, height: 28.0,)
),
new BottomNavigationBarItem(
title: new Text(
'周辺',
style: TextStyle(
color: _currentIndex == ? Color(0xFF46c01b) : Color(0xff999999),
),
),
icon: _currentIndex == ? Image.asset('images/icon/flower.png', width: 32.0, height: 28.0,) : Image.asset('images/icon/flower.png', width: 32.0, height: 28.0,)
)
],
), body: currentPage(),
);
}
}

lib/story/story.dart

story.dart

import 'package:flutter/material.dart';

void main() => runApp(Story());

class Story extends StatefulWidget {
@override
_Story createState() => new _Story();
} class _Story extends State<Story> {
@override
Widget build(BuildContext context) {
// TODO: implement build
return Scaffold(
body: new Center(
child: new Text(
'Story',
style: TextStyle(color: Colors.amberAccent),
),
),
);
}
}

其它两个文件差不多一样,因为只显示了一个单词而已。

flutter 底部按钮切换页面的更多相关文章

  1. Android控件Gridview实现仿支付宝首页,Fragment底部按钮切换和登录圆形头像

    此案例主要讲的是Android控件Gridview(九宫格)完美实现仿支付宝首页,包含添加和删除功能:Fragment底部按钮切换的效果,包含四个模块,登录页面圆形头像等,一个小项目的初始布局. 效果 ...

  2. react native 底部按钮切换

    在react   native  中底部按钮的切换  主要的是运用的是<TabBarNavigator/>这个组件,具体的代码实现如下: render() { return ( <T ...

  3. Flutter实现TabBarView切换页面时每个页面只initState一次

    在  TabBarView  组件中切换页面时,子页面每次均会重新  initState  一次,导致每次都切换页面均会重绘,如下图 如果需要只在第一次进页面  initState  一次,后面再进入 ...

  4. 09 Flutter底部Tab切换保持页面状态的几种方法

    IndexedStack:保此所有页面的状态: AutomaticKeepAliveClientMixin:保此部分页面的状态: 修改的页面代码: 页面效果: Tabs.dart import 'pa ...

  5. 页面跳转、底部tabs切换页面

    1.页面跳转 import { NavController } from 'ionic-angular'; constructor(public navCtrl: NavController) { } ...

  6. MUI框架开发HTML5手机APP(二)--页面跳转传值&底部选项卡切换

      概 述 JRedu 在上一篇博客中,我们学习了如何使用Hbuilder创建一个APP,同时如何使用MUI搭建属于自己的第一款APP,没有学习的同学可以戳链接学习: http://www.cnblo ...

  7. 点击某一按钮新增click,并切换页面

    应用场景:对于web端接收手机验证码的处理方法:1.如果有权限可以通过查询数据库来获得手机验证码,方便快捷.2.如果后台系统保存了手机验证码,可以去后台获取验证码,然后填写到前台页面,此方法有两种处理 ...

  8. iOS开发 横向分页样式 可左右滑动或点击头部栏按钮进行页面切换

    iOS开发 横向分页样式 可左右滑动或点击头部栏按钮进行页面切换 不多说直接上效果图和代码 1.设置RootViewController为一个导航试图控制器 //  Copyright © 2016年 ...

  9. flutter tab切换页面防止重置

    问题描述:TabBar 配合TabBarView切换页面,然后每个页面是一个listview加载数据,但是切换页面后listview的数据会被重置, 重新被加载了,解决办法使用 with Automa ...

随机推荐

  1. TypeScript 类型定义文件(*.d.ts)自动生成工具

    在开发ts时,有时会遇到没有d.ts文件的库,同时在老项目迁移到ts项目时也会遇到一些文件需要自己编写声明文件,但是在需要的声明文件比较多的情况,就需要自动生产声明文件.用过几个库.今天简单记录一下. ...

  2. SQLyog 报错2058 :连接 mysql 8.0.11 解决方法

    下载新版的 mysql 8.0.11 安装. 为了方便安装查看,我下载了sqlyog 工具 连接 mysql 配置新连接报错:错误号码 2058,分析是 mysql 密码加密方法变了. 解决方法:wi ...

  3. 我的代码-sql query

    # coding: utf-8 # In[ ]: WITH List AS (SELECT e.*,f.* FROM( SELECT DISTINCT c.lot_id, c.wafer_key,LE ...

  4. java的初学感想

    了解了JAVA的来源后,翻阅了一点关于java特性的书籍,众所周知,安全性和可移植性是java得以成功的前提,对此我想发表一点看法. 1.安全性:任何东西的安全性都是相对的,虽然java编译生成的字节 ...

  5. NPM,bower的安装目录

    npm安装成功的话(需设置系统环境变量,见http://www.cnblogs.com/liaocheng/p/4531898.html有介绍) npm的安装目录 安装nodejs时,如果没有设置以下 ...

  6. 离线安装Eclipse插件-Vrapper

    首先下载Vrapper的资源文件:https://sourceforge.net/projects/vrapper/ 下载完成后解压,将features和plugins文件夹内的文件复制到eclips ...

  7. 20. Web proxies (网页代理 4个)

    用于评估Web应用程序漏洞的基于Java的Web代理. 它支持在运行时编辑/查看HTTP / HTTPS消息,以更改Cookie和表单字段等项. 它包括网络流量记录器,网络蜘蛛,哈希计算器和用于测试常 ...

  8. 【python】闭包

    一.闭包满足的条件 闭包 = 内部函数 + 定义函数的环境 条件一 : 内部函数 条件二: 外部环境的变量 二.实战 def outer(): x = 10 y = 20 def inner(): p ...

  9. crontab(暂存待完善)

    crontab  -e 编辑 ,(使用默认编辑器) -l  列出 第1列分钟1-59 第2列小时1-23(0表示子夜) 第3列日1-31 第4列月1-12 第5列星期0-6(0表示星期天) 第6列要运 ...

  10. JAVA工具类-StrUtils

    public class StrUtils { public static final String UTF_8 = "UTF-8"; /** * 去掉小数字符串后面无用的零 */ ...