Flutter
文章平均质量分 87
从0开始学习Flutter
忘川三
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Flutter - 原生交互 - 相册
选择多张照片在iOS平台上只在14+才生效,用的是PhotosUI.framework中的PHPicker,因为手上测试机是13.4.1设备一直无法多选图片,查看源码。Xcode工程的GeneratePluginRegistrant新增了对应的注册代码。在上一个界面接收从相册中选择的图片并刷新界面。中没有对limit做任何处理代码。在Flutter中可以使用。更新Xcode的pod依赖。插件实现从相册中获取图片。flutter中访问相册。可以从相册获取视频和照片。可以从相册获取视频文件。原创 2025-06-25 09:03:20 · 444 阅读 · 0 评论 -
Flutter - 集成三方库:日志(logger)
默认的过滤器(DevelopmentFilter)在debug模式下可以打印所有level >= Logger.level的日志,在Release模式下所有日志被忽略。比如设置Release模式下只打印warning级别以上(含warning)的日志。Logger构造函数有个。参数可以指定输出格式。原创 2025-05-16 16:53:10 · 960 阅读 · 0 评论 -
Flutter - 原生交互 - 相机Camera - 曝光,缩放,录制视频
使用Camera组件中的cameraController.startVideoRecording()方法来开始拍摄视频,然后用cameraController.stopVideoRecording()方法可以结束视频。系统的相机可以双指进行缩放操作,在Flutter中可以在GestureDetector来实现。因为是点击的是同一个按钮进行拍照和视频,一些元素的控制。录制结束后调用_startVideoPlayer方法。,使用该组件控制曝光量,组件的样式是iOS上的。方法可以锁定相机的方向。原创 2025-06-16 18:01:26 · 509 阅读 · 0 评论 -
Flutter - 原生交互 - 相机Camera - 02
新建take_photo.dart文件,输入stf快捷创建一个有状态的Widget,命名为。通过更新CameraController对象的description参数来切换摄像头。使用CameraController的takePicture()方法实现拍照功能。使用CameraController对象的setZoomLevel方法设置焦距。使用CameraController对象的setFlashMode方法。使用CameraPreview类实现相机的预览。使用Align设置缩略图靠左。原创 2025-06-11 16:34:05 · 1231 阅读 · 0 评论 -
Flutter - 原生交互 - 相机Camera - 01
原生插件将方法的channel(约定的字符串),回调设置给Flutter原生平台代码(C++ && OC)Flutter的Dart层发送消息并传递channel,Flutter根据channel找到设置的回调(Dart -> C++ && OC),然后执行原生插件提供的方法(C++ && OC)获取执行结果并返回给Flutter的原生平台代码(C++ && OC),再发送给Dart代码(C++ && OC -> Dart)原创 2025-05-31 23:13:00 · 2300 阅读 · 1 评论 -
Flutter - 国际化
实现业务过程中相关的自定义的词条...),...效果同上,中文时显示你好,世界,英文时显示。原创 2025-05-23 09:37:35 · 1360 阅读 · 0 评论 -
Flutter - 集成三方库:数据库(sqflite)
数据库的增删改查可能会失败,导致数据与预期的不一致,为了保证在执行前后的数据一致性,引入了事务。原来有成功过,后面发现一直都会有问题,前段时间突然不行,在长时间运行后就会报这个错误,但是单独在VSCode外部用flutter run命令能正常运行。然后发现VSCode的代理有这样的说明,若未设置则会继承环境变量中的。中,所以VSCode的默认会用代理,但是运行在真机上,手机没有代理,应该是这样影响了网络环境。随着功能迭代,需要对数据库的表结构进行修改时,比如增加新字段时,需要对表的结构进行更新。原创 2025-05-20 17:04:12 · 748 阅读 · 0 评论 -
Flutter - UIKit开发相关指南 - 线程和异步
Dart采用单线程执行模型,支持Isolates(在另一个线程上运行Dart代码)、事件循环和异步编程。Flutter的事件循环相当于iOS的主线程上的RunLoop。在执行I/O密集型的操作时,比如访问磁盘或网络,可以使用async/await,但是当在执行CPU计算密集型的操作时,则应该将其移到独立线程(Isolate)以避免阻塞事件循环。首次启动需要同意网络权限,看报错是DNS找不到域名,所以还是网络问题,在手机上授权后再重新用flutter运行工程能恢复。因为要请求网络,所以添加http模块。原创 2025-05-14 10:18:51 · 497 阅读 · 0 评论 -
Flutter - UIKit开发相关指南 - 控制器,主题,表单
Flutter要使用自定义的字体可以在文件中添加fonts:fonts:Text(),原创 2025-05-12 15:35:29 · 849 阅读 · 0 评论 -
Flutter - UIKit开发相关指南 - 导航
go_router是一个用于Flutter声明式的路由包,使用Router API为不同屏幕间进行切换。在UIKit中使用URL scheme来实现。Flutter可以使用类似。在push方法中直接用builder跳转,而不需要通过路由表。文件中添加go_router依赖包,并下载。Flutter中通过。Flutter中使用如下代码实现。是一个应用中屏幕或页的抽象,是一个Widget来管理这些。添加允许打开短信和电话的配置。在iOS上约等于如下的实现。可以粗略的认为是一个。原创 2025-05-11 11:54:34 · 655 阅读 · 0 评论 -
Flutter - UIKit开发相关指南 - 概览
在UIKit中通过继承UIView来自定义组件,而在Flutter中定义自定义组件通常使用组合的方式@overridebody: Center(child: CustomButton("自定义按钮")),/// 自定义按钮@override。原创 2025-05-10 23:18:30 · 1384 阅读 · 0 评论 -
Flutter 布局
此外不能直接看到的也是 widget,例如用来排列、限制和对齐可见 widget 的行、列和网格。对应 Material 应用,可以使用 Scaffold widget,它提供默认的 banner 背景颜色,还有用于添加抽屉、提示条和底部列表弹窗的 API。只有一个子项,这个子项可以是列,行,列表,网格或者其它支持多个子项的。,它可以很轻松的创建一个包含三行文本以及可选的行前和行尾图标的行。是从上往下延伸的,所以主轴就是垂直方向,交叉轴就是水平方向的。,当内容大于自己的渲染框时,就会自动支持滚动。原创 2025-05-06 11:52:46 · 1202 阅读 · 0 评论 -
Flutter - 概览
Flutter中的一切都是Widget,Widget分为有状态和无状态两种,在 Flutter 中每个页面都是一帧,无状态就是保持在那一帧,而有状态的 Widget 当数据更新时,其实是创建了新的 Widget,只是 State 实现了跨帧的数据同步保存。在虚拟机使用新的字段和函数更新类后,Flutter框架自动重新构建widget。,可以重写这个方法中配置动画或准备订阅平台相关的服务,重写方法开始要先调用。方法来执行清理操作,比如取消定时器,取消订阅,同样在重写方法中也要先调用。取决于是否要管理状态。原创 2025-05-02 18:37:42 · 1451 阅读 · 0 评论 -
Flutter 环境搭建 (Android)
但里面说要重新删除cache,因为昨天网问题,下载非常慢,我原来下过,大部分是不用删,不删改代码执行会报错,主要是因为有哈希校验,所以看了下,把几个大的(artifacts,dark-sdk,flutter_web_sdk)和相关的.stamp文件保留,然后执行会快很多。没明白为什么会去下34的build-Tools,本地已经安装的是35和36,命令会下失败,手动下载34后放到sdk对应目录下。使用Android Studio界面创建虚拟机,下载镜像,还是网络问题,一直失败,还是通过浏览器下载放到。原创 2025-04-25 18:20:35 · 1451 阅读 · 0 评论 -
Flutter 环境搭建
再重新运行但是还是报相同的错误,使用Xcode工程现在是可以运行在手机上,所以问题应该是出在Flutter驱动Xcode的过程,因为跨平台。我的环境是macOS + iOS,所以选择了参考1的文档,下载了flutter_macos_3.29.3-stable.zip。选择iPhone(13.4.1)时报错了,看错误是证书问题,用Xcode打开Flutter里的Xcode工程。文档中要WIFI调试,这点目前不关键,然后iPhone Xcode相关的配置文档中也已经详细的写了。启动系统会弹2个告警的弹窗。原创 2025-04-23 10:33:36 · 1189 阅读 · 0 评论
分享