news 2026/2/27 1:37:16

Flutter for OpenHarmony核心组件学习: MaterialApp、Scaffold 两大基础组件以及有无状态组件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Flutter for OpenHarmony核心组件学习: MaterialApp、Scaffold 两大基础组件以及有无状态组件

Flutter for OpenHarmony核心组件学习: MaterialApp、Scaffold 两大基础组件以及有无状态组件


作者:爱吃大芒果

个人主页 爱吃大芒果

本文所属专栏Flutter

更多专栏
Ascend C 算子开发教程(进阶)
鸿蒙集成
OpenAgents
openJiuwen
从0到1自学C++


前言

本次学习主要掌握 Flutter 中MaterialAppScaffold两大基础组件的用法,以及无状态组件(StatelessWidget)和有状态组件(StatefulWidget)的定义与区别。


核心知识点梳理

1. 根组件MaterialApp

  • 作用:作为 Flutter 应用的入口,是 Material Design 风格应用的全局配置中心。
  • 核心配置项
    • title:应用标题,会显示在任务管理器或应用切换列表中。
    • theme:全局主题配置,可统一设置scaffoldBackgroundColor等样式。
    • home:应用启动后显示的第一个页面,通常是Scaffold组件。
  • 踩坑记录
    最初错误地用Color(const Color.fromARGB(...))设置主题色,导致类型不匹配。
    正确做法是直接使用Color.fromARGB(255, 173, 186, 189)Colors.blue

2. 页面骨架Scaffold

  • 作用:封装了常见的页面结构元素,快速搭建符合 Material Design 规范的页面。
  • 常用属性
    • appBar:顶部导航栏,可设置标题、图标和操作按钮。
    • body:页面主体内容区域,承载主要业务组件。
    • bottomNavigationBar:底部导航栏,适合实现多页面切换。
  • 实践效果
    通过Scaffold快速搭建了包含顶部标题栏、居中内容和底部导航的完整页面,开发效率显著提升。

3. 无状态组件StatelessWidget

  • 特点:组件内容固定,初始化后数据不可变,仅依赖传入的final类型参数构建。
  • 适用场景:静态展示类组件,如标题、文本标签。
  • 核心方法:仅需实现build方法,返回要渲染的 Widget 树。
  • 示例代码
    classmainpageextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){returnMaterialApp(home:Scaffold(appBar:AppBar(title:Text('爱吃大芒果')),body:Center(child:Text('爱吃大西瓜')),),);}}

4. 有状态组件StatefulWidget

  • 特点:包含可变状态(State),状态变化时会触发组件重新构建,实现动态交互。
  • 适用场景:需要动态更新的组件,如计数器、表单输入。
  • 核心结构
    分为StatefulWidget类和对应的State类,前者负责创建State,后者管理状态和构建 UI。
  • 示例代码
    classmainpageextendsStatefulWidget{@overrideState<mainpage>createState()=>_mainpagestate();}class_mainpagestateextendsState<mainpage>{@overrideWidgetbuild(BuildContextcontext){returnMaterialApp(home:Scaffold(appBar:AppBar(title:Text('爱吃大芒果')),body:Center(child:Text('爱吃大西瓜')),),);}}


总结

  1. 组件关系MaterialApp是应用的根,Scaffold是页面的骨架,二者结合构成了 Flutter 应用的基础结构。
  2. 组件选型:静态内容用StatelessWidget,动态交互用StatefulWidget,可有效提升性能和代码可维护性。
  3. 避坑提示:使用Color时,直接调用Color.fromARGB()Colors.xxx即可,无需额外用Color()包裹。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/24 22:31:39

MiniMax的全球化之路:中国AI公司出海的新样本

MiniMax成立4年即实现73%海外收入&#xff0c;以Talkie、海螺AI为核心产品&#xff0c;凭借“生而全球化”战略&#xff0c;从底层架构适配全球市场&#xff0c;通过文化本地化运营和高效市场推广&#xff0c;在全球200多个国家及地区拥有2.12亿用户&#xff0c;为中国AI公司出…

作者头像 李华
网站建设 2026/2/17 7:14:46

2023年NOC大赛创客智慧编程赛项Python复赛模拟题(二)

更多内容和历年真题请查看网站&#xff1a;【试卷中心 -----> NOC ----> Python ----> 复赛】 网站链接 青少年软件编程历年真题模拟题实时更新 2023年NOC大赛创客智慧编程赛项Python复赛模拟题&#xff08;二&#xff09; 一、编程题 第 1 题 NOC大赛创客智慧编程…

作者头像 李华
网站建设 2026/2/26 22:12:42

SpringBoot整合Thymeleaf

一、Thymeleaf 简介Thymeleaf 是一款现代化的服务器端 Java 模板引擎&#xff0c;主要用于 Web 开发中渲染 HTML 页面&#xff0c;能够无缝集成 Spring Boot 框架。它的核心优势是&#xff1a;支持 HTML 原生语法&#xff0c;模板文件可直接在浏览器中打开预览&#xff08;无后…

作者头像 李华
网站建设 2026/2/25 22:32:52

亲测好用!8个AI论文平台测评,研究生毕业论文必备

亲测好用&#xff01;8个AI论文平台测评&#xff0c;研究生毕业论文必备 2026年AI论文平台测评&#xff1a;从功能到体验的深度解析 随着人工智能技术在学术领域的广泛应用&#xff0c;越来越多的研究生开始依赖AI工具来提升论文写作效率。然而&#xff0c;面对市场上五花八门的…

作者头像 李华
网站建设 2026/2/26 16:44:51

循环经济在不同行业的应用前景比较

循环经济在不同行业的应用前景比较 关键词:循环经济、行业应用、应用前景、可持续发展、资源利用 摘要:本文旨在深入探讨循环经济在不同行业的应用前景并进行比较。首先介绍了循环经济的背景知识,包括其目的、适用读者、文档结构和相关术语。接着阐述了循环经济的核心概念、…

作者头像 李华