- 博客(61)
- 收藏
- 关注
原创 Flutter 零基础入门(二十九):ListView 进阶 —— 自定义列表项与复杂布局
本文介绍了Flutter中ListView的高级用法,重点讲解如何自定义复杂列表项布局。主要内容包括:1)分析真实App列表的特点,指出列表项Widget才是核心;2)讲解基础自定义列表项的实现方法,强调封装列表项Widget的重要性;3)介绍列表项点击交互的实现;4)推荐使用ListView.builder优化性能;5)总结新手常见错误和关键学习点。文章帮助开发者掌握信息流页面的开发能力,为后续学习GridView打下基础。
2026-01-29 11:58:27
445
原创 Flutter 零基础入门(二十八):ListView —— 最常用的页面结构
本文是Flutter零基础入门系列的第28篇,重点讲解了ListView这一核心组件的使用方法。文章首先强调了ListView在App开发中的重要性,指出80%的App页面都是列表形式。接着详细介绍了ListView的基本用法、与ListTile的组合使用,以及更高效的ListView.builder实现方式。文章还涵盖了列表项点击事件处理、分割线添加等实用技巧,并指出了新手常见的布局错误和解决方案。最后通过一个完整的"设置页面"示例,展示了如何将理论知识应用到实际开发中。本文为Flut
2026-01-29 11:57:31
662
原创 Flutter 零基础入门(二十七):Widget 的一生 —— initState、build 与 dispose 全解析
本文解析了Flutter中StatefulWidget的核心生命周期方法:initState、build和dispose。initState用于一次性初始化操作,build负责UI渲染且会被多次调用,dispose用于资源清理。文章通过示例代码展示了这些方法的执行顺序和使用场景,并指出了新手常见的5个错误用法。掌握这些生命周期方法对于正确管理组件状态和资源至关重要,是Flutter开发的基础知识。
2026-01-27 09:56:07
663
原创 Flutter 零基础入门(二十六):StatefulWidget 与状态更新 setState
本文介绍了Flutter中StatefulWidget与状态管理的基础知识。主要内容包括:状态(State)的概念,StatelessWidget的局限性,StatefulWidget的基本结构和使用方法,setState刷新界面的机制,以及计数器等常见状态场景的实现。文章重点讲解了如何通过setState()方法更新状态并触发UI重建,同时指出了新手常见的误区。通过本文,读者将掌握Flutter动态UI的核心机制,使应用具备响应状态变化的能力。
2026-01-27 09:55:21
554
原创 Flutter 零基础入门(二十五):手势 GestureDetector 与 InkWell
本文介绍了Flutter中实现交互式UI的两种核心组件:GestureDetector和InkWell。GestureDetector提供基础手势监听功能,灵活但无视觉反馈;InkWell则自带Material风格的水波纹效果,适合列表项、卡片等场景。重点讲解了InkWell的正确使用方法(需Material祖先组件)、圆角水波纹设置,以及两者在不同场景下的选择策略。文章还提供了可点击卡片、列表项等实战代码示例,并总结了新手常见误区。通过学习,开发者可以为任意Widget添加专业级交互体验。
2026-01-26 11:28:08
499
原创 Flutter 零基础入门(二十四):Button 按钮体系
Flutter按钮体系入门指南:掌握TextButton、ElevatedButton和IconButton的基本使用。文章介绍了三种常用按钮的特性、基本用法和样式设置,重点讲解了onPressed事件处理和禁用状态实现。通过典型布局示例展示了按钮组合方式,并指出新手常见误区。本文帮助开发者从静态界面转向交互式开发,为后续手势识别学习奠定基础。适合Flutter初学者快速掌握按钮交互基础。
2026-01-26 11:27:22
498
原创 Flutter 零基础入门(二十三):Icon、Image 与资源管理
本文介绍了Flutter中Icon和Image组件的使用与资源管理。主要内容包括:Icon组件的基本用法和常用属性;Image组件的两种来源(网络图片和本地资源图片)及加载方式;图片圆角的正确实现方法(使用ClipRRect);资源管理的最佳实践;以及常见错误总结。文章强调图标与图片对App界面设计的重要性,并提供了标准头像区域等实战示例。通过本文,开发者可以掌握Flutter中图形元素的处理技巧,使页面更具层次感和交互性。
2026-01-19 09:36:14
597
原创 Flutter 零基础入门(二十二):Text 文本组件与样式系统
本文介绍了Flutter中Text文本组件的核心使用方法,包括基础属性设置、样式复用、文本溢出处理等实用技巧。主要内容涵盖:Text的基本用法,TextStyle样式系统的配置与复用,maxLines和overflow处理长文本,文本对齐方式,Row/Column中的文本布局,以及富文本的实现。文章特别强调了专业项目中样式复用的重要性,并提供了标准列表项文字结构的实战示例。最后指出了新手常见误区,帮助开发者掌握Flutter中专业级的文本处理方式,使App文字显示达到产品级水准。
2026-01-19 09:35:14
454
原创 Flutter 零基础入门(二十一):Container、Padding、Margin 与装饰
本文介绍了Flutter中Container组件及其相关属性的使用。Container是一个多功能容器,可用于设置宽高、背景色、内外边距(padding/margin)以及各种装饰效果。文章详细讲解了如何通过BoxDecoration实现圆角、边框和阴影效果,并提供了卡片式布局的完整示例。同时指出了新手常见误区,如滥用Container、混淆padding/margin等。掌握这些知识后,开发者可以创建更美观的Flutter界面。下一篇将介绍Text组件及其样式系统。
2026-01-17 13:58:23
358
原创 Flutter 零基础入门(二十):常用布局 Widget(Row、Column、Expanded)
本文介绍了Flutter中三个核心布局组件Row、Column和Expanded的使用方法。主要内容包括:Row和Column分别用于水平和垂直布局,以及它们的主轴/交叉轴对齐方式;Expanded组件用于自动分配剩余空间;常见布局错误如溢出问题的解决方案。文章强调Flutter布局的核心思想是"父Widget决定子Widget的布局规则",并指出新手常见误区,如滥用固定宽高、不理解主轴概念等。通过掌握这些基础布局组件,开发者可以构建结构清晰、适应性强的Flutter界面。
2026-01-17 13:57:19
675
原创 Flutter 零基础入门(十九):Widget 树、BuildContext 与父子关系
本文介绍了Flutter中Widget树、BuildContext和父子关系的关键概念。主要内容包括:1)Flutter UI本质是Widget树结构;2)BuildContext表示Widget在树中的位置,用于向上查找父节点信息;3)父子Widget通过构造函数传递数据,遵循"数据向下流"原则;4)context使用注意事项,避免在异步回调中误用。文章还解释了常见context报错原因,强调正确理解这些概念是掌握Flutter布局、导航等功能的基础。
2026-01-16 16:21:35
596
原创 Flutter 零基础入门(十八):StatefulWidget 生命周期初识
本文介绍了Flutter中StatefulWidget的生命周期概念,重点讲解了State从创建到销毁的关键阶段。主要内容包括:createState创建State对象、initState执行一次性初始化、build描述UI、setState触发UI更新以及dispose释放资源。文章强调了各生命周期方法的职责分工,指出常见误区如错误地在build中初始化变量,并提供了完整生命周期示例。掌握这些知识能帮助开发者正确放置代码逻辑,避免内存泄漏等问题,为后续学习Widget树和BuildContext打下基础。
2026-01-16 16:20:46
616
原创 17.Flutter 零基础入门(十七):StatelessWidget 与 State 的第一次分离
本文介绍了Flutter中状态管理的基础概念,重点讲解了StatelessWidget的局限性以及StatefulWidget的核心作用。文章通过计数器示例,阐述了Flutter"UI是状态映射结果"的设计哲学,说明了Widget与State分离的必要性,并详细讲解了setState方法的工作原理。文中还总结了新手常见错误,帮助读者理解Flutter状态驱动UI的机制,为后续学习StatefulWidget生命周期打下基础。
2026-01-15 13:28:54
748
原创 16.Flutter 零基础入门(十六):Widget 基础概念与第一个 Flutter 页面
本文摘要: Flutter 入门指南介绍了 Widget 基础概念,强调"万物皆 Widget"的核心思想。Widget 是 UI 的描述而非控件本身,本质上是 Dart 类。文章讲解了最简单的 Flutter 程序结构,包括 main() 入口和 runApp() 方法,并演示了第一个 StatelessWidget 的创建过程。重点阐述了 build() 方法的作用和 Widget 树的组合方式,展示了 MaterialApp、Scaffold 等基础 Widget 的使用。文章指出
2026-01-15 13:27:56
952
原创 Flutter 零基础入门(十五):继承、多态与面向对象三大特性
本文系统梳理了面向对象编程的三大特性:封装、继承和多态。封装通过隐藏内部细节提高安全性;继承实现代码复用和层级关系;多态允许不同对象对同一方法有不同实现。Dart语言通过下划线实现私有属性,通过extends实现继承,通过抽象类和override实现多态。Flutter框架大量运用这些特性,其Widget体系就是典型的面向对象设计。文章指出学习这些特性是从语法掌握到框架理解的关键跨越,并预告下一篇将进入Flutter UI开发实践。
2026-01-14 09:15:00
581
原创 Flutter 零基础入门(十四):Dart 抽象类(abstract)与接口思想
本文介绍了Dart中抽象类(abstract)与接口思想的核心概念。主要内容包括:1)抽象类的作用是定义行为规则而不提供具体实现;2)通过abstract关键字定义抽象类,子类必须实现其抽象方法;3)抽象类不能被实例化,但支持面向抽象编程;4)Dart通过implements实现接口,支持多接口继承;5)extends与implements的关键区别在于是否继承实现代码;6)抽象类在Flutter框架中广泛应用,是理解Flutter架构的重要基础。文章强调抽象类不仅是一种语法特性,更是代码设计和系统解耦的重
2026-01-14 05:04:51
827
原创 Flutter 零基础入门(十三):late 关键字与延迟初始化
Flutter中的late关键字用于延迟初始化非空变量,它解决了空安全下构造函数内初始化变量的需求。late表示变量一定有值但稍后初始化,与可空类型?不同,后者允许变量为null。常见用法包括late final组合,表示延迟且仅能赋值一次。使用late需确保变量一定会被初始化,否则会引发运行时异常。适用场景包括构造函数初始化、依赖外部数据等,但不适用于可能为空或初始化时机不确定的情况。late在Flutter中广泛用于状态管理、控制器等场景,是Dart变量系统的重要组成部分。
2026-01-13 01:50:17
704
原创 Flutter 零基础入门(十二):枚举(enum)与状态管理的第一步
本文介绍了Flutter开发中枚举(enum)的基本概念与应用。枚举是一种专门表示有限状态集合的工具,相比字符串或数字表示状态更加安全可靠。文章详细讲解了枚举的定义方法、与if/switch语句的配合使用,以及它在状态管理中的核心作用。通过实际代码示例,展示了枚举如何帮助开发者避免拼写错误、获得IDE自动补全,并实现编译器级别的状态检查。特别强调了枚举与类的配合使用,以及它作为Flutter状态管理基础工具的重要性。最后预告了下一篇将讲解late关键字与延迟初始化的相关内容。
2026-01-13 01:46:29
562
原创 Flutter 零基础入门(十一):空安全(Null Safety)基础
这篇文章是Flutter零基础入门系列的第十一篇,重点讲解Dart语言中的空安全(Null Safety)机制。文章首先解释了null的含义及其可能导致的问题,然后详细介绍了Dart引入空安全的原因和核心规则。主要内容包括:默认情况下变量不可为null的设定、使用"?"声明可空类型的方法、访问可空变量的三种解决方案(判空判断、非空断言"!"、安全调用"?.")、"??"默认值运算符的使用,以及空安全在函数参数和类属性中的应用。文
2026-01-12 09:24:20
587
原创 Flutter 零基础入门(十):final、const 与不可变数据
本文是Flutter零基础入门系列的第十篇,详细讲解了Dart语言中final和const的区别与使用场景。文章首先解释了为什么需要不可变变量,然后对比了final(运行时确定值)和const(编译时确定值)的特点,包括它们在集合和类中的不同表现。特别强调了Flutter中推荐使用const的原因(提升性能、减少重建),并提供了实用选择指南。最后指出这是从"能跑"到"写得规范专业"的重要一步,为下一篇空安全主题做了预告。全文通过表格对比和代码示例,帮助开发者深入理解这
2026-01-12 08:41:20
876
原创 Flutter 零基础入门(九):构造函数、命名构造函数与 this 关键字
本文是Flutter零基础入门系列的第九篇,重点讲解Dart语言中的构造函数。文章首先解释了构造函数的作用是在创建对象时初始化数据,详细介绍了基础构造函数的写法、this关键字的作用以及构造函数的简写形式。随后讲解了命名构造函数的定义方式和使用场景,特别是从Map创建对象的常用模式。文中还通过综合示例演示了构造函数在实际开发中的应用,并指出这些知识在Flutter Widget开发中的重要性。最后预告了下一篇将讲解final和const的使用,帮助开发者写出更高质量的代码。
2026-01-10 22:26:36
498
原创 Flutter 零基础入门(八):Dart 类(Class)与对象(Object)
本文是Flutter零基础入门系列的第八篇,重点讲解Dart语言中类(Class)与对象(Object)的概念和应用。文章对比了使用Map和Class处理数据的差异,指出Class在类型检查、结构清晰度和项目适用性上的优势。详细介绍了如何定义类、创建对象、添加方法,以及类在实际项目中的应用场景。通过List+Class的组合示例,展示了Flutter项目中常见的数据处理方式。文章强调类是Flutter开发的核心基础,掌握类将为后续学习Widget、页面状态管理等奠定重要基础。最后预告下一篇将深入讲解构造函数
2026-01-09 09:30:33
864
原创 Flutter 零基础入门(七):函数(Function)与代码封装
本文是Flutter零基础入门教程的第七篇,重点讲解Dart语言中的函数(Function)概念。文章首先指出随着代码量增加会出现逻辑混乱的问题,引出函数作为代码封装和复用的解决方案。详细介绍了函数的定义方式,包括无参函数、带参函数和返回值函数,并通过具体示例展示如何用函数封装重复逻辑。特别强调了函数在Flutter开发中的核心地位,它是事件处理、UI构建等的基础。最后预告下一讲将进入面向对象编程,学习类和对象的概念。本教程循序渐进,帮助初学者掌握函数这一重要编程概念。
2026-01-08 08:47:22
1010
原创 Flutter 零基础入门(六):Map 键值对与简单数据模型
本文介绍了Flutter开发中Map键值对的基本概念和使用方法。Map用于存储结构化数据,通过key-value形式清晰表达数据含义。文章讲解了Map的定义方式(包括类型指定)、数据访问、修改操作,并重点说明了Map与List组合使用的常见场景(如用户列表)。Map作为简单数据模型,在Flutter项目中广泛用于处理接口数据和UI展示。通过List<Map>结构,开发者可以有效地组织和管理复杂数据。本文还预告了下篇将介绍函数封装,为后续Widget开发做准备。
2026-01-07 09:25:24
344
原创 Flutter零基础入门(五):List列表与遍历
本文是Flutter零基础入门系列第五篇,重点讲解Dart中的List列表及其遍历方法。文章首先介绍了List的概念,即有序存储多个值的容器,并演示了定义List的两种方式(通用和指定类型)。然后详细讲解了List的索引访问、常用属性和方法(长度获取、增删改元素)。核心部分讲解了如何使用for循环和更简洁的for-in循环遍历List,并给出结合条件判断和字符串插值的综合示例。最后强调了List在Flutter开发中的重要性,它是生成重复UI组件的基础数据结构,为后续学习Map和复杂数据结构打下基础。
2026-01-06 10:12:03
492
原创 Flutter零基础入门(四):switch、多分支判断与循环
本文是Flutter零基础入门系列的第四篇,主要讲解Dart语言中的多分支判断和循环结构。文章首先介绍了switch语句的语法和使用场景,通过与if/else的对比说明其更适合处理固定值判断。接着详细讲解了for循环的基本结构和执行流程,以及实际开发中的常见用途。同时介绍了while循环的条件控制特性,并比较了两种循环的区别,建议初学者优先使用for循环。最后通过综合示例展示了循环与条件判断的结合使用,为后续学习Flutter列表UI打下基础。下一篇将讲解List列表与遍历,为Flutter UI编程做准备
2026-01-05 09:45:13
565
原创 JavaScript教程一:分支结构
本文介绍了程序的三种流程控制结构:顺序结构、分支结构和循环结构。重点讲解了分支结构的三种实现方式:if...else语句、switch...case语句和三目运算符。if...else适用于范围判断,switch...case适合等值比较且效率更高,三目运算符则用于简化简单分支。文章还比较了if和switch的区别,建议在代码优化时多用switch和三目运算。最后指出三目运算符的限制:不能省略默认操作,且只适用于简单单行操作的情况。
2026-01-05 08:30:00
223
原创 Flutter 零基础入门(三):条件判断与逻辑运算
本文是Flutter零基础入门教程第三篇,重点讲解Dart语言中的条件判断与逻辑运算。文章首先说明条件判断在程序开发中的必要性,如处理登录状态、权限验证等场景。然后详细介绍if/else/else if的基本语法和使用示例,包括比较运算符(>, <, ==等)的正确用法。接着讲解逻辑运算符&&(与)、||(或)和!(非)的组合应用,并通过真实场景示例展示复合条件的判断逻辑。最后总结条件判断的核心要点,并预告下一篇将介绍switch语句和循环结构,帮助程序实现更复杂的逻辑处理能力。
2026-01-04 09:29:10
404
原创 JavaScript介绍&使用
本文介绍了JavaScript的基本概念、使用方法及核心语法。JavaScript是一种运行在浏览器的解释型、弱类型、面向对象的脚本语言,由ECMAScript、DOM和BOM三部分组成。文章详细讲解了JS的两种使用方式(内嵌脚本和外部引入)、三种输出方法(控制台、页面和弹窗)、变量与常量的定义(var、let和const)、五大原始数据类型(数字、字符串、布尔、null和undefined)以及运算符(算术和比较运算符)的使用规则和隐式转换特性。特别强调了NaN的特殊性质及其判断方法,为JavaScrip
2026-01-04 08:30:00
808
原创 Flutter启动路径&热重载问题总结
Flutter开发中常见路径和热重载问题总结:Windows桌面端对中文路径和空格敏感,必须使用纯英文路径。热重载功能取决于启动方式,通过VS Code的Debug模式启动(而非终端命令)才能实现自动热重载,需同时设置"Dart:Flutter Hot Reload On Save"和"Dart:Hot Reload On Save"为"all"。最佳实践是使用纯英文项目路径,并通过VS Code的Debug功能启动项目以获得完整的热重载支持。
2025-12-26 11:29:33
721
原创 Flutter 零基础入门(二):Dart 字符串与字符串插值
本文系统介绍了Dart语言中的字符串操作与字符串插值技术。主要内容包括:字符串的基本定义方式(单/双引号包裹),传统字符串拼接的局限性,以及Dart推荐的字符串插值语法($变量名和${表达式}两种形式)。重点讲解了字符串插值在Flutter开发中的实际应用价值,如UI文本展示、动态内容组合等场景,并通过对比展示其简洁性和安全性。文章最后总结了字符串插值的使用规则,并预告了下篇将讲解条件判断与逻辑运算内容。
2025-12-26 08:30:00
348
原创 Flutter&Dart零基础入门教程(一)
本文是Flutter和Dart零基础入门教程的第一部分,主要介绍了Dart语言和Flutter框架的基础知识。内容涵盖:1)Dart作为编程语言的特点,Flutter作为跨平台UI框架的功能;2)Dart程序的基本结构,包括main函数和print()方法;3)变量的概念、数据类型和使用方法;4)不可变变量final和const的区别及使用场景。教程采用简单易懂的类比方式讲解核心概念,适合完全没有编程基础的初学者建立对Dart和Flutter的基本认知。
2025-12-25 12:05:42
755
原创 跨平台技术选型终极指南:Flutter、React Native、Uni-app、Electron、Dioxus全维度大PK
跨平台开发技术选型指南:五大主流框架全维度对比 本文深度对比了Flutter、React Native、Uni-app、Electron和Dioxus五大跨平台开发框架,从技术架构、性能、生态、组件库、优劣势等多个维度进行解析。Flutter凭借自绘UI引擎实现高性能,React Native依托JavaScript生态快速开发,Uni-app专注小程序多端适配,Electron以Web技术构建桌面应用,Dioxus则基于Rust提供极致性能。文章详细分析了各框架的学习曲线、社区活跃度和适用场景,并给出混合
2025-12-24 08:30:00
1166
原创 Win11+WSL2+Ubuntu+Rust+VSCode环境配置
参考链接:[解决windows 安装wsl的部分问题_distributioninfo.json-CSDN博客](https://blog.csdn.net/weixin_43328157/article/details/129052041#:~:text=控制面板中依次打开“网络和Internet”-> “网络和共享中心”打开“更改适配器设置”)在VSCode上方的搜索框中输入">",打开命令面板,再输入WSL,选择wsl:连接到wsl。我安装完成,运行测试时,提示我无法打开rust-src库。
2025-10-13 13:29:00
1028
转载 C++循环读取文件中的每一行数据保证每一行数据还可进行其他操作
C++循环读取文件中的每一行数据,并将每一行存入vector容器中,可以单独对每一行数据进行操作
2022-12-02 16:51:20
1452
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅