- 博客(145)
- 资源 (5)
- 收藏
- 关注
原创 Flutter开发 json_serializable json数据解析
本文介绍了如何在Flutter中实现JSON数据的序列化和反序列化。通过json_serializable和json_annotation依赖包,创建Word数据模型类,自动生成转换代码。演示了从服务器获取JSON数据后,如何将其转换为List<Word>对象列表,以及如何将对象列表转回JSON字符串。包括添加依赖、创建模型类、运行代码生成器、实现数据转换等完整流程,便于处理复杂的JSON数据结构。
2025-08-20 17:45:00
104
原创 Flutter开发 网络请求
本文介绍了Dart中的两种HTTP请求方式:原生HttpClient和第三方http库。通过代码示例展示了GET和POST请求的实现,包括请求发送、响应处理和JSON/XML数据解析。GET请求示例展示了如何获取并解析单词数据,POST请求演示了如何设置请求头和发送JSON数据。此外还介绍了XML解析方法,展示了如何从XML文档中提取书籍信息。这些示例覆盖了网络请求的主要场景,为Dart开发者提供了实用的参考实现。
2025-08-16 17:45:00
383
原创 Flutter开发 webview_flutter的基本使用
Flutter实现WebView功能需要使用webview_flutter插件,该插件支持iOS和Android平台。实现步骤包括:1)添加Android网络权限;2)引入webview_flutter插件依赖;3)通过WebViewController配置JavaScript模式、导航委托等参数,可控制页面加载行为和URL拦截;4)使用WebViewWidget展示网页内容。示例代码展示了如何加载指定URL并实现基本功能,包括页面加载事件处理和特定网站(如YouTube)的访问限制。
2025-08-15 18:30:00
225
原创 Flutter Form组件的基本使用
本文介绍了Flutter中Form和TextFormField组件的使用。Form作为容器组件,通过GlobalKey<FormState>管理表单状态,调用validate()方法触发验证,save()方法保存数据。示例代码演示了包含用户名和密码输入框的表单,实现了验证、提交和重置功能。TextFormField通过validator进行输入验证,onSaved保存输入值,结合FormState实现表单数据的统一管理和操作。该方案适用于大多数需要表单验证和数据收集的场景。
2025-08-15 18:00:00
249
原创 Flutter sqflite插件
本文介绍了Flutter中使用sqflite插件进行SQLite数据库操作的方法。主要内容包括:1.获取数据库路径;2.初始化数据库并创建表;3.实现增删改查功能(插入、更新、查询、删除数据);4.处理数据库版本升级;5.直接使用已有db文件的方法。代码示例展示了完整的数据库操作流程,包括创建表、版本升级时添加字段等常见操作,以及如何预加载已存在的数据库文件。
2025-08-14 18:00:00
281
原创 Flutter 顶部导航标签组件Tab + TabBar + TabController
Flutter中实现Tab布局需要配合TabBar、TabBarView和TabController。TabBar定义标题栏,包含isScrollable(可滑动)、indicatorColor(指示器颜色)、labelColor(选中颜色)等属性;TabBarView定义对应内容区域。通过DefaultTabController控制切换逻辑,示例代码展示了包含5个Tab页的完整实现,包括图标、文本和内容区域的配置。关键点在于TabBar和TabBarView的数量必须一致,并由DefaultTabCont
2025-08-14 17:30:00
282
原创 Flutter GridView的基本使用
Flutter GridView组件详解 GridView是Flutter中用于多行多列布局的核心组件,主要包含四种实现方式: GridView():一次性渲染所有子元素,适合固定数量的布局,通过SliverGridDelegate控制排列方式,可设置行列数、间距和宽高比。 GridView.count():直接设置交叉轴子元素数量,简化行列布局。 GridView.extent():通过设置子元素最大宽度来自动计算列数。 GridView.builder():动态创建子元素,适合大数据量或不确定数量的场景
2025-08-12 18:00:00
356
原创 Flutter path_provider的基本使用(读写文件)
本文介绍了Flutter中使用path_provider插件进行跨平台文件目录操作的方法。该插件可以获取临时目录、文档目录和外部存储目录,适用于Android和iOS平台。内容包括:添加依赖配置,获取各类目录路径的方法实现,以及创建、删除目录和获取目录内容的代码示例。特别说明了Android平台需要额外配置存储权限。通过封装Dart函数,开发者可以方便地进行文件系统操作,解决了不同平台文件路径差异问题。
2025-08-12 17:15:00
154
原创 Flutter ExpansionPanel组件(可收缩的列表)
摘要:本文介绍了Flutter中可展开/收缩的面板组件实现方法,主要使用ExpansionPanelList和ExpansionPanel组件。ExpansionPanelList通过children属性设置子组件,expansionCallback处理展开回调;ExpansionPanel则通过headerBuilder设置标题,body定义内容区域,isExpanded控制展开状态。代码示例展示了如何构建一个包含多个卡片内容的面板组件,其中body使用Container设置固定高度,并通过ListVie
2025-08-12 16:45:00
159
原创 Flutter card组件的基本使用
本文介绍了Card小部件的使用,它具有圆角和阴影效果,能呈现立体视觉。主要属性包括margin(外边距)、child(子元素)和shape(阴影样式,默认圆角长方形)。示例代码展示了如何创建包含多个Card的列表视图,每个Card包含ListTile显示时间信息。通过Container设置内边距,将多个相同样式的Card添加到列表中,最终在Scaffold的body中通过ListView展示。这种实现方式适合创建整齐的卡片式列表界面。
2025-08-11 18:00:00
250
原创 Flutter Dialog、BottomSheet
本文介绍了Flutter中四种常用弹窗的实现方式:1) AlertDialog基础弹窗,包含标题、内容和操作按钮;2) SimpleDialog选择弹窗,提供多个选项供用户选择;3) AboutDialog信息弹窗,展示应用名称、版本和版权信息;4) BottomSheet底部弹窗,以列表形式从底部弹出选项。每种弹窗均提供Dart代码示例和效果截图,展示了从创建到调用的完整实现过程,适合Flutter开发者快速掌握对话框组件的使用方法。
2025-08-11 17:30:00
237
原创 Flutter SharedPreferences存储数据基本使用
Flutter中使用SharedPreferences实现数据持久化存储的示例。通过添加shared_preferences插件,演示了异步存储、读取和删除数据的基本操作。关键点包括:使用SharedPreferences.getInstance()获取实例,通过setString()存储数据、getString()读取数据、remove()删除数据。代码提供了三个按钮分别实现数据存储、读取和删除功能,控制台输出操作结果。该方案适合存储简单的键值对数据,操作需在异步环境中完成。
2025-08-11 17:00:00
199
原创 Flutter开发 LinearProgressIndicato、CircularProgressIndicator
Flutter提供了两种进度指示器组件:LinearProgressIndicator(线性进度条)和CircularProgressIndicator(圆形进度条)。LinearProgressIndicator支持设置背景色(backgroundColor)、进度值(value)和进度颜色(valueColor),value为null时显示动态加载效果。CircularProgressIndicator同样支持value属性,并可设置strokeWidth调整线条粗细。两种组件都可用于展示下载、上传等任
2025-08-10 16:27:09
110
原创 Flutter开发 页面间的值传递示例
本文实现了一个Flutter视频播放应用,包含两个Dart文件:jump.dart作为跳转页面,chewie.dart作为视频播放页面。jump.dart页面包含两个按钮,分别传递不同的视频URL给chewie.dart页面。chewie.dart使用Chewie插件实现视频播放功能,通过构造方法接收URL参数并初始化播放器。跳转页面支持两种不同视频源的切换播放,视频播放页面配置了自动播放和16:9的宽高比。整个应用采用MaterialApp设计,包含基本的页面导航和状态管理功能。
2025-08-10 16:25:51
154
原创 Flutter 视频播放video_player、chewie
Flutter视频播放功能实现方案对比 本文介绍了两种Flutter视频播放实现方案:官方video_player插件和第三方chewie插件。video_player提供了基础的视频播放功能,需要手动实现播放控制按钮;而chewie在video_player基础上封装了控制栏、全屏显示等增强功能,使用更简便。两种方案都支持网络视频播放,通过VideoPlayerController进行初始化控制。代码示例展示了两种实现方式的具体用法,开发者可根据项目需求选择适合的方案。
2025-08-09 19:45:00
205
原创 Flutter Listview的基本使用
本文介绍了Flutter中ListView组件的三种使用方式:1) 基础ListView(),支持垂直/水平滚动,可配置滚动方向、翻转、子元素尺寸等属性;2) ListView.builder(),适用于动态数据加载场景,通过itemCount控制显示条数,示例演示了点击加载更多功能;3) ListView.separated(),支持在列表项之间添加自定义分割线。每种方式均提供Dart代码实现和效果图示,展示了如何创建彩色列表项容器,并涵盖随机颜色生成、状态管理等实用技巧。
2025-08-09 19:30:00
170
原创 Flutter开发 SingleChildScrollView、ScrollController
本文介绍了Flutter中SingleChildScrollView组件的使用,通过代码示例展示了如何实现图片的水平滑动效果。主要内容包括:1)使用SingleChildScrollView和Row构建可横向滑动的图片列表;2)通过ScrollController控制滚动位置,实现点击按钮切换图片的功能;3)列举了ScrollController的常用属性和方法。文章提供了完整的Dart代码实现,并配有界面效果图,帮助开发者快速掌握Flutter滑动组件的开发技巧。
2025-08-08 19:30:00
182
原创 Flutter开发 多孩子布局组件
Flutter布局组件使用指南:本文介绍了Flutter中常用的布局组件及其属性配置。主要内容包括:1) Row水平排列组件的主轴(MainAxisAlignment)和次轴(CrossAxisAlignment)对齐方式;2) Column垂直排列组件;3) Flex组件作为Row和Column的组合;4) Expanded组件用于扩展子元素尺寸;5) Warp组件实现自动换行;6) Stack组件实现子元素堆叠效果。每种组件都配有示例代码和效果截图,展示了不同的对齐方式(spaceAround、cent
2025-08-08 19:00:00
373
原创 Flutter开发 单孩子布局组件
本文介绍了Flutter中常用的布局组件Container、Padding、Align和Center的使用方法。Container是一个多功能布局组件,支持设置对齐方式、装饰效果、尺寸调整和变换操作。Padding组件用于设置内边距,Align组件控制子元素的对齐方式,Center组件则简单实现居中效果。每个组件都配有示例代码和效果截图,展示了如何设置背景色、边框、圆角、图片等属性,以及如何调整宽高、对齐方式和旋转等变换操作。这些基础组件是Flutter界面开发的重要组成部分。
2025-08-07 17:45:00
152
原创 Flutter开发 Slider组件(如音量控制)
本文介绍了Flutter中Slider控件的使用,用于实现进度展示和音量控制功能。文章详细列出了Slider的主要属性,包括value(当前值)、max/min(最大/最小值)、divisions(分段数)、activeColor/inactiveColor(滑块颜色)和label(气泡标签)。通过Dart代码示例展示了Slider的基本实现方式,包括状态管理和UI构建过程,并提供了两种界面效果截图:基础滑块样式和添加label标签后的样式。该控件可通过onChanged回调实时更新数值,适合需要滑动调节的
2025-08-07 17:00:00
307
原创 Flutter开发 CircleAvatar组件及裁剪组件
Flutter提供了多种图片裁剪组件:CircleAvatar创建圆形头像,支持背景色和背景图片;ClipOval将子组件裁剪为椭圆形;ClipRRect可添加圆角边框;ClipRect通过自定义裁剪区域实现部分图片裁剪,需配合CustomClipper使用。这些组件可轻松实现不同形状的图片裁剪效果,满足UI设计需求。
2025-08-07 16:30:00
294
原创 Flutter开发 Image组件使用示例
Flutter 提供了多种图片加载方式:1) Image.asset 加载项目资源图片,需配置 pubspec.yaml;2) Image.network 加载网络图片;3) Image.file 加载本地文件,配合 image_picker 插件可选择相册图片;4) Image.memory 加载字节数据;5) 通用 Image 组件可接收多种 ImageProvider(如 AssetImage、NetworkImage 等)。每种方式都支持配置尺寸和展示模式,其中相册图片加载需要处理异步选择和状态更新
2025-08-06 17:00:00
436
原创 Flutter Radio单选
本文介绍了Flutter中单选按钮Radio和RadioListTile组件的使用。Radio组件通过value和groupValue判断选中状态,提供onChange事件监听;RadioListTile扩展了Radio功能,支持设置主副标题(title/subtitle)、布局密度(dense)和控件位置(controlAffinity)。文中包含两个完整示例:第一个展示性别选择(男/女),第二个实现单选题功能(A/B/C/D选项),均通过setState实现状态更新。代码示例展示了如何创建单选按钮组并获
2025-08-06 16:30:00
253
原创 Flutter RichText组件使用示例
Flutter中使用RichText控件实现文本混合样式与点击交互。通过TextSpan嵌套结构,可以在同一文本中设置不同颜色(如黑色普通文本和蓝色协议文本),并为特定文本片段添加点击事件(如隐私协议和用户协议)。示例代码展示了如何构建包含多种样式的复合文本,其中蓝色文本可点击并触发控制台输出,适用于需要突出显示并交互的协议条款等场景。这种方法比使用多个Text控件组合更简洁高效。
2025-08-06 16:00:00
161
原创 Flutter 国际化
本文介绍了Flutter应用中实现国际化时间选择器的方法。首先需要在pubspec.yaml中添加flutter_localizations依赖,然后在MaterialApp中配置本地化代理和支持的语言环境。示例代码展示了如何创建一个时间选择页面,其中使用了showTimePicker方法来显示时间选择器,并将选择的时间显示在页面上。关键配置包括设置localizationsDelegates和supportedLocales,以及默认语言环境locale为中文。通过这个示例,开发者可以了解如何在Flutt
2025-08-05 18:00:00
205
原创 Flutter 日期时间选择器使用示例
文章摘要:本文介绍了Flutter中日期和时间选择器的实现方法。日期选择器使用showDatePicker方法,可设置初始化日期、开始日期和结束日期范围;时间选择器通过showTimePicker方法实现,可获取当前时间并进行修改。两种选择器都采用异步处理方式,通过setState更新界面显示。代码示例展示了完整的实现过程,包括页面布局和交互逻辑,并配有界面效果图。
2025-08-05 17:30:00
115
原创 Flutter TextField组件使用
摘要:本文介绍了Flutter中TextField组件的常用属性及用法。主要内容包括:1)基础属性设置(maxLength、maxLines、obscureText等);2)装饰属性(decoration)的各种配置选项如表单图标、提示文本等;3)输入格式控制(inputFormatters)和内容获取(controller)的实践方法。通过代码示例展示了如何实现输入限制、获取输入内容等功能,并配有界面效果图示,为开发者提供了TextField组件的实用参考。
2025-08-05 17:00:00
203
原创 Flutter开发 Checkbox、CheckboxListTile
本文介绍了Flutter中Checkbox和CheckboxListTile组件的使用。主要内容包括:1) Checkbox的基本属性value和onChanged,并通过示例代码展示如何实现多选框状态管理;2) CheckboxListTile的扩展属性如title、subtitle、secondary等,演示了如何创建带图标和描述文字的复选框。两种组件都通过setState实现状态更新,适用于不同场景下的选择交互需求。代码示例展示了从简单复选框到复杂列表项复选框的实现方式。
2025-08-05 12:10:08
143
原创 Flutter开发 StatelessWidget与StatefulWidget基本了解
Flutter提供了StatelessWidget和StatefulWidget两种基础组件。StatelessWidget用于静态界面展示,其内容在运行时不会改变,如示例中的固定文本显示。StatefulWidget则适用于动态内容,通过State对象管理状态变化,如示例中的点击按钮修改文本功能,必须使用setState()方法触发UI更新。两者构建方式不同:StatelessWidget直接实现build方法,而StatefulWidget需要分离Widget和State类,通过createState(
2025-08-04 18:30:00
170
原创 Flutter开发 了解Scaffold
本文介绍了Flutter中Text组件的基本属性设置,包括颜色、字体大小和下划线等样式配置。重点讲解了Scaffold布局结构的使用方法,包括appBar顶部标题栏(设置标题、图标、颜色等)、bottomNavigationBar底部导航栏、drawer抽屉组件(用户信息和列表)、floatingActionButton悬浮按钮等功能实现,并提供了详细的代码示例和效果图展示。文章还说明了如何添加本地图片资源并在项目中正确配置。这些基础组件的属性设置和组合使用可以帮助开发者快速构建Flutter应用的基本界面
2025-08-04 18:00:00
335
原创 Flutter开发 MaterrialApp基本属性介绍
本文介绍了Flutter中MaterialApp的几个关键属性用法。home属性用于设置应用启动后显示的初始页面;routes属性定义页面跳转路由,可通过Navigator.pushNamed实现页面切换;initialRoute可覆盖home属性,直接指定初始路由页面;theme属性用于设置应用主题样式,包括颜色等UI配置。这些属性是Flutter应用开发的基础配置,通过合理使用可以实现页面导航、主题定制等核心功能。
2025-08-04 17:30:00
232
原创 Flutter开发 dart异步
本文介绍了Dart中处理异步操作的Future、async/await和Stream三种方式。Future用于获取单次异步结果,可通过then或async/await处理;async/await让异步代码更接近同步写法;Stream则用于处理连续异步事件流,如分块读取文件。文章通过文件读取的示例代码,展示了三种方式的具体实现和区别,并说明了await的使用限制和Stream的事件监听机制。
2025-08-03 18:30:00
494
原创 Flutter Dart类的使用
本文介绍了Dart中面向对象编程的核心概念,包括类的定义、构造方法、继承与多态、抽象类与接口、混入以及泛型等特性。主要内容涵盖:1)类的基本语法和继承实现;2)三种构造方法(默认、类名、命名)的使用;3)方法重写和多态的实现;4)抽象类作为接口的应用;5)混入机制实现多继承;6)泛型类定义和使用。这些特性构成了Dart面向对象编程的基础体系,适用于构建可复用、可扩展的应用程序结构。
2025-08-03 18:00:00
278
原创 Flutter 函数的基本使用
本文介绍了Dart语言中的函数与异常处理机制。主要内容包括:1) 函数声明的基本语法和两种形式(有返回值和无返回值);2) 可选参数的使用方式,包括命名参数和位置参数;3) 匿名函数的定义和调用方法;4) 箭头函数的简化写法;5) 闭包函数的两种实现方式;6) 异常处理,包括抛出异常和try-catch捕获异常。文章通过代码示例详细说明了各种函数定义和异常处理的语法规则及具体应用场景,为Dart开发者提供了实用的编程参考。
2025-08-03 17:00:00
221
原创 Flutter dart控制流程
本文介绍了Dart语言中的控制结构和注释方法。选择结构包括if-else和switch-case两种形式,其中switch-case支持continue跳转标签的特殊用法。循环结构包含传统的for循环、for-in遍历、while和do-while循环。注释方式支持单行(//)、多行(/* */)和文档注释(///)。这些语法与Java类似,但for-in循环和switch-case的continue标签是其特色功能。
2025-08-03 16:30:00
254
原创 Flutter开发 dart语言基本语法
Dart语言基础语法摘要 Dart是一门支持JIT/AOT编译、单线程模型的强类型语言,同时允许弱类型编程。主要特点包括: 变量声明灵活,支持var/object/dynamic隐式声明和显式类型声明 常量使用final/const定义,const要求编译时常量 基础数据类型包括Number(int/double)、String、Boolean 集合类型:List(有序可变)、Set(无序唯一)、Map(键值对) 常用集合操作方法:forEach遍历、map转换、where过滤、any/every条件判断
2025-08-02 19:00:00
329
原创 Flutter dart运算符
本文介绍了Dart语言中的五种基本运算符类型及其用法:1)算数运算符(加减乘除等);2)关系运算符(比较运算);3)逻辑运算符(与或非);4)赋值运算符(包括空值合并赋值??=);5)三目运算符(条件运算和空值判断??)。通过表格和代码示例展示了各运算符的具体功能和使用场景,如自增运算的执行顺序、空值合并赋值的特殊用法等。这些运算符构成了Dart语言基础运算的核心功能。
2025-08-02 18:45:00
261
原创 Flutter开发 初识目录结构
本文介绍了Flutter项目的基本目录结构和核心文件。主要目录包括:.dart_tool(工具库文件)、android(安卓原生代码)、ios(iOS原生代码)、lib(Dart代码)、test(测试代码)等。重点解析了main.dart入口文件和pubspec.yaml配置文件:main.dart包含应用启动代码和基础Widget结构;pubspec.yaml管理项目依赖、资源配置和版本信息。文章还简要说明了项目资源管理和主题设置的方法,为Flutter初学者提供了项目结构的入门指南。
2025-08-02 18:15:00
337
原创 android studio 安装Flutter
本文介绍了Flutter开发环境的配置步骤:1)从flutter.cn下载SDK并解压;2)配置系统环境变量Path;3)运行flutter doctor检查环境配置,遇到下载慢时可配置清华镜像地址;4)解决Android许可问题时执行flutter doctor --android-licenses命令;5)在Android Studio中安装Flutter和Dart插件。文章提供了详细的图文指引,帮助开发者快速搭建Flutter开发环境。
2025-08-02 18:00:00
130
Android Fragment+限定符适配Demo
2017-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人