005 flutter基础,初始文件讲解(4)

书接上回,今天继续完成最后的讲解:

Dart 复制代码
class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

可以看到,这里的_MyHomePageState是一个类,继承于 State<MyHomePage>,而由于之前的代码里面的createState方法会基于此创建实例对象

下方的语法就很简单了,定义一个整型的变量,然后定义一个函数,这些都是dart基础语法里面的内容

值得注意的是,setState是一个flutter自带的方法,其作用是用于通知Flutter框架,当前状态已经发生了变化,需要重新构建UI

接下来进入最后一段代码,也是大家最为熟悉的(如果看了我之前的文章的话):

Dart 复制代码
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center, 
          children: <Widget>[
            const Text('You have pushed the button this many times:'),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headlineMedium, 
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter, 
        tooltip: 'Increment', 
        child: const Icon(Icons.add), 
      ), 
    );
  }
}

还是常规操作,@override,下面的想必大家已经熟悉了,Scaffold,appBar,AppBar,title,Center,这些之前正着讲的时候,都有说到用到过。这里就提一些之前没有提到过的叭。

关于颜色,backgroundColor这里调用的是主题相关的颜色,title是之前取的title名,当然,是和标题相关的

Column指的是垂直方向的构架,而center则是中心,即垂直方向的中间

我们看见的按钮是怎么来的呢?floatingActionButton就是那个悬浮按钮,当"onPressed"的时候,执行我们之前的那个方法,tooltip会在当你把鼠标放在按钮图标上的时候显示,而最后则是按钮的图像显示,这里的add就是加号的图像

至此,flutter基础文件讲解就此结束啦!

祝大家天天开心!代码一遍就通!没有debug的烦恼!

相关推荐
zhangrelay4 小时前
新版|-|单片机原理与接口技术-2026持续改进优化-从MEGA2560-ESP32与Wokwi到ROS2-Lyrical与具身智能栈
笔记·单片机·嵌入式硬件·学习
叼烟扛炮8 小时前
Linux 学习笔记(三十三):线程互斥——互斥锁(Mutex)与死锁
linux·运维·服务器·笔记·学习·1024程序员节
m4Rk_10 小时前
【论文阅读】Agent 记忆机制(113):Agentic Memory Management——从“检索相关信息”走向“管理 Agent 内部记忆”
论文阅读·人工智能·学习·开源·github
辣知11 小时前
辣知·化智92 《山海经》里的史前密码
学习
鬼手点金11 小时前
KV Cache 未必是一次性的:可编辑、可组合的“笔记”
java·人工智能·笔记·学习·自动化·1024程序员节
kyrie_sakura13 小时前
大模型学习18 大模型学习 - LangChain2_Model I/O
学习·自然语言处理
宝绿特塑业再生科技13 小时前
板材收缩率不稳,户外家具装配尺寸为何对不上:从切割尺寸变化到接缝不一的系统性排查与对策
笔记·科技·学习·生活·户外家具·hdpe再生颗粒·hdpe
2601_9498477513 小时前
Form-data 跨端三方库仓颉适配全流程
前端·javascript·flutter
~城南花已开~14 小时前
Intel E810 SR-IOV VF Spoofcheck 防伪造测试-KVM3
服务器·网络·笔记·学习·ubuntu·etl工程师
我命由我1234516 小时前
6-3.Python 异常处理 - 异常处理进阶(else 块与 finally 块、异常传递、自定义异常)
开发语言·前端·数据库·后端·python·学习·java-ee