视频地址:

https://www.bilibili.com/video/av39709290/?p=4

博客地址:

https://jspang.com/post/flutterDemo.html#toc-7d1

 

学习如果使用一个动态的widget代替之前写的那几个静态的widget

 

新建文件:each_view.dart

20个Flutter实例视频教程-第04节: 不规则底部工具栏制作-2

 

快捷键:stful生成动态的widget

20个Flutter实例视频教程-第04节: 不规则底部工具栏制作-2

 

定义内部使用的变量:以下划线开头的

String _title;这个title是从上一个页面传过来的
我们在构造函数内初始化一下

20个Flutter实例视频教程-第04节: 不规则底部工具栏制作-2

 

下面我们依然return Scaffold脚手架

20个Flutter实例视频教程-第04节: 不规则底部工具栏制作-2

bottom_appBar_demo.dart引入我们的Each_View.dart

20个Flutter实例视频教程-第04节: 不规则底部工具栏制作-2

做一个数组,和索引。

用数组来变换我们页面里面的样式

20个Flutter实例视频教程-第04节: 不规则底部工具栏制作-2

 

有了变量以后,我们需要初始化一下,重写我们的初始化状态方法initState()

20个Flutter实例视频教程-第04节: 不规则底部工具栏制作-2

 

20个Flutter实例视频教程-第04节: 不规则底部工具栏制作-2

点击中间的按钮的时候增加响应事件:

这里用我们的路由的方式

Navigator.of(context)

of里面是我们的上下文

然后用push。push里面就是我们的Material路由了,然后里面是构造器build。这里也是调用我们动态的页面EachView

 

20个Flutter实例视频教程-第04节: 不规则底部工具栏制作-2

预览下效果

20个Flutter实例视频教程-第04节: 不规则底部工具栏制作-2

点击后就跳转了我们的EachView传递了的参数New Page

20个Flutter实例视频教程-第04节: 不规则底部工具栏制作-2

 

两边的两个按钮点击的时候 我们不是直接跳转到EachVIew页面。而是在中间页面去动态的切换。我们只需要变化的它的状态就是它的State就可以了

20个Flutter实例视频教程-第04节: 不规则底部工具栏制作-2

然后设置我们脚手架的body为内置的_eachView数组内根据索引显示的widget组件

20个Flutter实例视频教程-第04节: 不规则底部工具栏制作-2

 

预览页面,如果出错了 需要重新flutter run一下。看视屏的评论说用大写R也可以。

R是大更新,r是小更新

我用大写的R更新了下 貌似还真可以!!

 

20个Flutter实例视频教程-第04节: 不规则底部工具栏制作-2

 

代码

import 'package:flutter/material.dart';
import 'bottom_appBar_demo.dart';

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

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.lightBlue,//里面定义了很多的主题,这里使用亮蓝色
      ),
      home:BottomAppBarDemo()
    );
  }
}
main.dart

相关文章:

  • 2022-01-26
  • 2022-03-06
  • 2021-09-01
  • 2021-06-01
  • 2021-07-19
  • 2021-09-21
  • 2021-12-25
  • 2021-05-23
猜你喜欢
  • 2021-09-25
  • 2022-02-11
  • 2022-12-23
  • 2022-02-21
  • 2021-06-13
  • 2022-01-25
相关资源
相似解决方案