
Flutter
文章平均质量分 87
GY-93
这个作者很懒,什么都没留下…
展开
-
Flutter中stream学习
Stream 主要应用于 Flutter 的异步操作,在其他编程语言中也存在;Stream 提供了一种接受事件队列的方法,可通过 listen 进行数据监听,通过 error 接收失败状态,通过 done 来接收结束状态;原创 2025-03-11 10:09:34 · 816 阅读 · 0 评论 -
Flutter中PlatformView在鸿蒙中的使用
集成平台视图(后称为平台视图)允许将原生视图嵌入到 Flutter 应用中,所以你可以通过 Dart 将变换、裁剪和不透明度等效果应用到原生视图。例如,这使你可以通过使用平台视图直接在 Flutter 应用内部使用鸿蒙中的原生地图。原创 2025-01-21 18:07:38 · 786 阅读 · 0 评论 -
Flutter鸿蒙化中的Plugin
大家知道Flutter和鸿蒙通信方式和Flutter和其他平台通信方式都是一样的,都是使用PlatformChannelAPI来通信。那么鸿蒙中这些通信的代码是写在哪里?如何编写的了?下面我们简单的学习下。原创 2025-01-20 15:40:47 · 939 阅读 · 0 评论 -
Flutter项目和鸿蒙平台的通信
大家在使用Flutter开发项目的时候,Flutter提供了PlatfromChannelAPI来和个个平台进行交互。:用于传递字符串和半结构化的信息。支持数据双向传递,有返回值。:用于传递方法调用(支持数据双向传递,有返回值。通常用来调用native中某个方法:用于数据流()的通信。仅支持数据单向传递,无返回值。有监听功能,比如电量变化之后直接推送数据给flutter端也是通过上述三种方式来和鸿蒙平台进行通信的。原创 2025-01-20 12:02:48 · 694 阅读 · 0 评论 -
Flutter项目适配鸿蒙
目前市面上使用Flutter技术站的app不在少数,对于Flutter的项目,可能更多的是想直接兼容Harmonyos,而不是直接在重新开发一个新的鸿蒙项目。那么Flutter如何兼容鸿蒙平台了?接下来我们探讨下Flutter项目是如何兼容鸿蒙的。原创 2025-01-11 17:03:58 · 2686 阅读 · 1 评论 -
Flutter中使用FFI的方式链接C/C++的so库(harmonyos)
fuutter中使用ffi插件链接so库原创 2024-09-26 17:24:57 · 819 阅读 · 0 评论 -
Dart中FFI学习
Dart中如何与C语言交互原创 2024-09-26 16:52:25 · 1168 阅读 · 0 评论 -
Flutter Modul集成到IOS项目
Flutter Modul集成到既又IOS项目原创 2023-02-14 10:53:51 · 1447 阅读 · 0 评论 -
flutter中List遍历
fluttetr中关于list循环的一些方法原创 2022-08-10 14:03:07 · 3729 阅读 · 0 评论 -
fluttter学习之ButtonStyle 、MaterialStateProperty
ButtonStyle和MaterialStateProperty的学习原创 2022-07-28 15:59:51 · 1123 阅读 · 0 评论 -
flutter学习之widget的显示和隐藏
flutter中widget的显示和隐藏原创 2022-07-27 17:38:28 · 3332 阅读 · 0 评论 -
flutte学习-裁剪圆角图片
flutter学习-圆角图片的裁剪原创 2022-04-01 16:53:45 · 958 阅读 · 0 评论 -
Flutter-设置信息本地持久化
Flutter_设置信息本地持久化前言1. shared_preferences库的介绍2. shared_preferences库的集成和使用2.1 集成2.2 API 和使用前言这篇文章我们将学习到如果在flutter中做一些设置信息的本地持久化, 做一些轻量级信息的本地持久化。1. shared_preferences库的介绍首先数据存储是APP开发中必不可少的, 比如记录用户习惯、页面缓存,从网络上获取数据本地缓存。Flutter官方推荐我们用shared_preferences进行数据存原创 2022-02-24 11:16:08 · 2579 阅读 · 0 评论 -
Flutter错误信息搜集
Flutter错误信息搜集1.Incorrect use of ParentDataWidget.1.Incorrect use of ParentDataWidget.报错原因:Expanded、Flexible等组件,在“Container、Padding、Stack”组件中导致的。解决方案: Expanded、Flexible只在Row、Column等组件内,不在其他组件内使用。.........原创 2022-01-14 17:31:11 · 3909 阅读 · 0 评论 -
flutter监听app进入前后台状态
flutter监听APP状态1. 监听app进入前后台状态2.其它状态监听在开发app的过程中,我们经常需要根据app的前后台的状态,做一些事情,那么我们在flutter中是如何实现这一监听的?flutter给我们提供了WidgetsBindingObserver来进行一些状态的判断,但是判断前后台的状态只是该API种其中一种功能,对于WidgetsBindingObserver需要注意两点最好是先进入而且不会销毁的页面, 这可以判断整个程序的前后台状态(例如:main。dart类中)Widget原创 2022-01-12 09:34:26 · 5363 阅读 · 2 评论 -
Flutter中的Timer
Flutter中的Timer1.单次运行的定时器2. 重复运行定时器Timer的官方文档资料1.单次运行的定时器源码:factory Timer(Duration duration, void Function() callback) { if (Zone.current == Zone.root) { // No need to bind the callback. We know that the root's timer will // be invoked原创 2022-01-10 17:42:30 · 2501 阅读 · 0 评论 -
Flutter学习之混合开发
Flutter学习之混合开发1. 调用原生功能1.1 Camera(已有三方插件支持直接调用)1.1.1 添加依赖1.1.2 平台配置1.1.3 代码实现1.2 电池信息(没有三方插件支持,需要编写原生代码)1.2.1 平台通过介绍1.2.2 创建测试项目1.2.3 编写Dart代码1.2.4 编写IOS平台代码1.2.4.1 swift代码实现1.2.4.2 Objective-C代码实现1.2.5 编写Android代码1.2.5.1 kotlin 实现代码1.2.5.2 java实现代码2. 嵌入原有原创 2022-01-06 17:55:28 · 3255 阅读 · 0 评论 -
flutte学习-编译模式
flutter学习-编译模式1. Flutter的编译模式1.1 Debug模式1.2 Release模式1.3 profile模式2. 开发中模式区分1. Flutter的编译模式1.1 Debug模式在Debug模式下,app可以被安装在模拟器和真机上进行调试Debug模式有如下特点:断言是开启的(Assertions)服务扩展是开启的(Service extension)这个可以从runApp的源码查看runApp -> WidgetsFlutterBinding ->原创 2021-12-31 09:34:55 · 709 阅读 · 0 评论 -
Flutter学习之测试
Flutter学习之测试1. 单元测试1.1 添加测试依赖1.2 创建需要测试的类1.3 创建测试文件1.4 整合多个测试1.5 测试的初始化2. Widget测试2.1 创建widget2.2 编写测试代码3. 集成测试3.1 创建可测试的应用程序3.2 添加测试依赖3.3 创建一个测试文件3.4 编写安装应用代码3.5 编写集成测试代码3.6 运行集成测试3.7 注意1. 单元测试单元测试是针对一个函数和一个类进行测试1.1 添加测试依赖将test或则flutter_test加入依赖文件原创 2021-12-30 16:13:40 · 1641 阅读 · 0 评论 -
Flutter学习-项目实战
Flutter学习-项目实战原创 2021-12-21 14:12:03 · 3532 阅读 · 0 评论 -
Flutter学习-屏幕适配
屏幕适配1. Flutter的单位1.1 Flutter中的单位1.2 Flutter的设备信息2. 适配方案目前移动端设备非常多,并且不同的设备手机屏幕也不相同。目前做移动端开发都要针对不同的设备进行一定的匹配,无论是移动原生开发、小程序、H5页面那么下面我们来学习下,Flutter中如何针对不同的手机屏幕来进行适配1. Flutter的单位1.1 Flutter中的单位在进行Flutter开发时,我们通常不需要传入尺寸的单位,那么Flutter使用的是什么单位呢?Flutter使用的原创 2021-11-04 16:09:40 · 1193 阅读 · 0 评论 -
flutter学习-主题风格
主题风格1. Theme主题的使用1.1 全局Theme在Flutter开发中,我们可以通过定义主题(Theme),复用颜色和子体,从而让整个APP的设计看起来更一致1. Theme主题的使用Theme分为:全局Theme和局部Theme主题有两个作用:设置了主题之后,某些Widget会自动使用主题的样式(比如AppBar的颜色)将某些样式放到主题中统一管理,在应用程序的其它地方直接引用1.1 全局Theme全局Theme会影响整个app的颜色和字体样式。使用起来非常简单,只需要想原创 2021-09-19 15:47:47 · 1466 阅读 · 0 评论 -
flutter学习-动画
flutter实现动画1. 动画API认识1.1 Animation对于一个前端App来说,添加适当的动画,可以给用户更好的体验和视觉效果。所以无论是原生的IOS或是Android,还是前端开发中都会提供默写动画的APIFlutter有自己的渲染闭环,我们当然可以给它提供一丁的数据模型,来让他们帮助我们实现对应的动画效果1. 动画API认识动画其实是我们通过某些方式(比如对象、Animation对象)给Flutter引擎提供不同的值,而Flutter可以根据我们提供的值,给对应的Widget添加顺滑原创 2021-09-13 16:18:42 · 838 阅读 · 0 评论 -
flutter学习-路由
flutter-路由1. 路由管理1.1 认识Flutter的路由1.2 Route1.3 Navigator2. 路由的基本使用2.1 基本跳转2.1.1 错误一2.1.2 跳转、返回、相互传值2.2 命名路由的使用2.2.1 基础跳转2.1.2 传值2.1.3 路由的钩子(onGenerateRoute)2.1.4 onUnknownRoute我们通常用屏(Screen)来称呼一个页面(Page),一个完整的APP应该有多个Page组成的在之前的豆瓣案例中,我们通过IndexedStack来管理首原创 2021-09-04 14:47:36 · 847 阅读 · 1 评论 -
flutter学习-事件监听
事件监听1. 指针事件Point2 手势识别Gesture在大前端的开发中,必然存在着各种各样和用户交互的情况: 比如手指点击,手指滑动、双击、长按等在Flutter中,手势有两个不同的层次:第一层:原始指针事件(Pointer Events)描述了屏幕上由触摸板、鼠标、指示笔触发的指针的位置和滚动第二层:手势识别(Gesture Detector)这个是在原始事件上的一种封装。比如我们要监听用户长按,如果自己封装原始事件我们需要监听从用户按下到抬起的时间来判断是否是一次长按事件比如我们原创 2021-09-03 11:32:28 · 1322 阅读 · 0 评论 -
flutter学习-状态State管理
状态State管理1. 为什么需要状态管理1.1 认识状态管理1.2 不同的状态管理分类1.2.1 短时状态(Ephemeral state)1.2.2 应用状态App State1.2.3如何选择不同的管理方式2. 共享状态2.1 InheritedWidget2.2 Provider2.2.1 Provider的基本使用2.2.2 Provider.of的弊端2.2.3 Selector的选择2.2.4 MultiProvider状态管理是声明式编程非常重要的一个概念,我们前面是介绍过Flutte原创 2021-08-24 17:55:24 · 486 阅读 · 0 评论 -
flutter学习-Dart的垃圾回收器
Dart的垃圾回收器在学习Flutter的过程中,我们知道Widget只是最终渲染对象(RenderObject)的配置文件,它在build的时候频繁的销毁和创建,那么我们就需要考虑频繁的创建和销毁带来的性能问题?其实大可不必,因为Dart针对Flutter的Widget的创建和销毁做了专门优化,这也是Flutter在众多语言中选择Dart的一个重要因素,下面我们将来了解下Dart的GC(Garbage Collector)Flutter使用Dart作为开发语言和运行时机制,Dart一直保留着运行原创 2021-08-18 14:55:17 · 851 阅读 · 0 评论 -
flutter学习-Widget-Element-RenderObject
Widget-Element-RenderObject1. Flutter渲染流程1.1 Widget-Element-RenderObject的关系1.2 什么是Widget1.3 Element是什么?1.4 RenderObject2. 对象的创建过程2.1 Widget2.2 RenderObject2.3 Element2.4 build中的Context是什么2.5 创建过程小结3. Widget中的key3.1 key的案例需求3.2 StatelessWidget实现3.3 Statefu原创 2021-08-18 13:53:48 · 739 阅读 · 0 评论 -
Flutter学习-阶段案例
Flutter学习-阶段案例案例内容的目的:对前面内容的回顾对一些Widget、知识点进行补充代码的结构如何进行组织对评星的封装采用绝对定位 在上面铺一层 Stack是否需要裁减 是表示新的wiidget和旧的widget的宽度相等的时候,就不裁减,否则就开始裁减封装底部tabbar时当item超过4个时候,必须要把type属性设置成为 fixed, 不然tabbar会隐藏你的文本,不显示文本今天内容:startRating的封装虚线的封装bottomNavigat原创 2021-08-16 16:16:34 · 321 阅读 · 0 评论 -
Flutter学习-网络请求
Flutter学习-网络请求1. 网络请求的方式1.1 HttpClient的示例1.2 Http库1.3 dio三方库1.4 dio库的简单封装2. JSON的读取和解析2.1 本地JSON资源配置2.2 JSON数据的读取解析2.3 JSON解析代码前言:项目中展示的大部分数据都是来自服务器,我们需要向服务器请求数据,并且对他们进行解析展示。向服务器发出请求就需要用到网络请求相关的知识。1. 网络请求的方式在Flutter中常见的网络请求方式有三种:HttpClient、http库、dio原创 2021-07-23 15:02:21 · 567 阅读 · 1 评论 -
Flutter学习-Dart异步
Flutter学习-Dart异步原创 2021-07-22 18:07:07 · 784 阅读 · 4 评论 -
Flutter学习-滚动的Widget
Flutter学习-滚动的Widget1. ListView2. GridView3. stiller1. ListView需要去读文档,结合文档的描述,整理笔记flutter想要实现滚动效果,必须使用滚动的widget默认方式创建ListView,适合比较少的item的时候。选择默认创建方式如果使用默认构造器创建ListView的话,会尽可能多的去加载Item,以方便Item进行展示,就是你需要加载多少个item,不管你屏幕能够显示多少个,都会尽可能先把所有的item创建好LIstView原创 2021-07-20 17:07:14 · 1158 阅读 · 4 评论 -
Flutter学习-多子布局Widget
Flutter学习-多子布局Widget原创 2021-07-18 12:18:27 · 586 阅读 · 2 评论 -
Flutter学习-单子布局Widget
Flutter学习-布局Widget1 单子布局组件1.1 Align2 多子布局组件1 单子布局组件1.1 AlignCenter 继承自Align ,通过查看Center的源码,发现,Center没有做任何其他的操作, 我们传递的参数,Center原封不动的传递给Align, 可以说Center仅仅只是Align的一个子类而已和Align的功能完全一样‘那么为什么我们在外层套一个Align组件之后 就可以居中了?因为Align 占据了我们整个屏幕的区域,然后Align里面有一个属性,alig原创 2021-07-17 14:52:44 · 480 阅读 · 3 评论 -
Flutter学习-基础Widget
Flutter学习-基础Widget1. Flutter编程范式1.1 编程范式的理解1.2 flutter的编程范式2. 文本Widget2.1 普通文本展示1. Flutter编程范式这个章节又讲解一些理论的东西,可能并不会直接讲授Flutter的知识,但是会对你以后写任何的代码,都具备一些简单的知道思想;1.1 编程范式的理解编程范式对于初学编程的人来说是一个虚无缥缈的东西,但是却是我们日常开发中都在默认遵循的一些模式和方法;比如我们最为熟悉的 面向对象编程就是一种编程范式,与之对应或者原创 2021-07-16 20:33:48 · 875 阅读 · 2 评论 -
Flutter学习-有状态的StatefulWidget
Flutter学习-有状态的StatefulWidget1. StatefulWidget1.1 StatefulWidget的介绍1.2 如何存储Widget状态?2. StatefulWidget案例3. StatefulWidget生命周期3.1. 生命周期的理解3.2 生命周期简单版笔记1. StatefulWidget在开发中,某些Widget情况下我们展示的数据并不是一层不变的:比如Flutter默认程序中的计数器案例,点击了+号按钮后,显示的数字需要+1;比如在开发中,我们会进行下拉原创 2021-07-14 21:07:12 · 705 阅读 · 1 评论 -
Flutter学习-flutter开发初体验
Flutter学习-flutter案例分析1. 项目结构flutter的项目名称中不支持大写字母,只能小写,如果多个单词一般用_来连接1. 项目结构.dart_tool: 记录着一些东西的所在位置,以及版本信息.idea :lib : 放着我们的源代码main.dart: 作为整个项目的入口热更新(hot reload):主要是执行build方法,如果写的代码不在build方法中, 则热更新是不起做的热重启(hot restart) : 重新运行整个appmanin 函数 需要执行run原创 2021-07-13 17:24:47 · 391 阅读 · 1 评论 -
Flutter学习-Dart语法
Flutter学习-Dart语法1. VSCode配置2. Main函数2.1 main函数2.2 Main函数分析3. 定义变量3.1明确声明(Explicit)3.2 类型推倒3.2.1 var3.2.1 dynamic3.2.2 final和const4 .数据类型4.1 数字类型5. 集合类型6. 函数1. VSCode配置首先我们是使用VSCode编辑器来学习Dart语言, 那么我们需要配置一下Dart环境,我们安装了几个插件:Dart和Flutter插件是为Flutter开发准备的C原创 2021-07-12 11:32:03 · 1906 阅读 · 1 评论 -
Flutter学习-初识
@[Flutter学习-初识]1. Flutter简介1.1 Flutter的特点Google公司在国内做过很多宣讲,其中多次提到Flutter的几个特点:美观、快速、高效、开放。美观:使用Flutter内置美丽的Material Design和Cupertino widget(什么是widget,不着急)、丰富的motion API、平滑而自然的滑动效果和平台感知,为您的用户带来全新体验快速:Flutter 的 UI 渲染性能很好。在生产环境下,Flutter 将代码编译成机器码执行,并充原创 2021-07-09 11:31:20 · 235 阅读 · 4 评论 -
Flutter之导航栏实现
Flutter底部和顶部导航栏的实现带文字图标的底部导航栏(使用BottomNavigationBar和BottomNavigationBarItem)来实现效果 (可以实现图片很文字,可以监听点击改变图片和文字的颜色)/** BottomNavigationBarItem的一些属性 * const BottomNavigationBarItem({ ...原创 2019-10-31 20:27:33 · 657 阅读 · 0 评论