zl程序教程

Flutter 解耦

  • Flutter之Json数据解析

    Flutter之Json数据解析

    Flutter 开发中,Json 数据解析一直是一个痛点,特别是对于从 iOS、Android 或者 Java 转过来的开发者来说尤为明显,在上述平台上开发者习惯了将 Json 数据解析为对象实体然后进行使用,而在 Flutter 上要做到这一步则相对比较麻烦。Flutter 使用的是 Dart 语言进行开发,而 Dart 语言没有反射,所以无法像 Java 一样通过反射直接将 Json 数据映射

    日期 2023-06-12 10:48:40     
  • Flutter之GetX依赖注入tag使用详解

    Flutter之GetX依赖注入tag使用详解

    本文主要介绍 GetX 依赖注入中 tag 的作用和使用详解。作用前面几篇文章介绍了 GetX 依赖注入的使用以及通过源码剖析了依赖注入的原理:•《Flutter应用框架搭建(一)GetX集成及使用详解》•《Flutter 通过源码一步一步剖析 Getx 依赖管理的实现》•《Flutter之GetX依赖注入使用详解》通过源码得知,GetX 依赖注入中 tag 的主要作用是用于区分相同类型依赖的不同

    日期 2023-06-12 10:48:40     
  • Flutter快速开发——列表分页加载封装

    Flutter快速开发——列表分页加载封装

    在 App 中,列表数据加载是一个很常见的功能,几乎大多数 App 中都存在列表数据的展示,而对于大数据量的列表展示,为提高用户体验、减少服务器压力等,一般采用分页加载列表数据,首次只加载一页数据,当用户向下滑动列表到底部时再触发加载下一页数据。为方便开发过程中快速实现列表分页的功能,对列表分页加载统一封装是必不可少的,这样在开发过程中只需关注实际的业务逻辑而不用在分页数据加载的处理上花费过多时间

    日期 2023-06-12 10:48:40     
  • Flutter之事件节流、防抖封装

    Flutter之事件节流、防抖封装

    在应用开发过程中经常会遇到因用户短时间内连续多次重复触发某个事件,导致对应事件的业务逻辑重复执行而出现业务异常,此时就需要对事件进行节流或者防抖处理避免出现业务异常。本文将介绍在 Flutter 开发中如何实现节流和防抖的统一封装。前言首先我们来了解一下节流和防抖的定义,以及在什么场景下需要用到节流和防抖。节流节流是在事件触发时,立即执行事件的目标操作逻辑,在当前事件未执行完成时,该事件再次触发时

    日期 2023-06-12 10:48:40     
  • Flutter 使用插件打开相册、相机「建议收藏」

    Flutter 使用插件打开相册、相机「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。需求: image_picker的使用,点击按钮底部弹出 相册、拍照选择框,实现具体功能1:引入插件 pubspec.yaml 增加 image_picker: ^0.7.5+2复制2:android 添加androidx兼容gradle.properties 增加 android.useAndroidX=true android.enableJet

    日期 2023-06-12 10:48:40     
  • Flutter BaseWidget 实现onResume、onPause()

    Flutter BaseWidget 实现onResume、onPause()

    大家好,又见面了,我是你们的朋友全栈君。 熟读唐诗三百首,不会作诗也会吟。——孙洙 最近用Flutter开发的项目算是完成了开发到上线第一阶段了。任何一个项目开始了,若想追求的是更好,那么就需要下功夫对项目用户体验和代码效率深入的研究了。作为用户和产品经理、老板、UI、不懂技术的其他人员看到的产品只是表面的。Flutter开发了一套代码同时运行在IOS和安卓两端那仅仅只是界面,你考虑page生命

    日期 2023-06-12 10:48:40     
  • 【Flutter&Flame 游戏 - 贰叁】 资源管理与国际化

    【Flutter&Flame 游戏 - 贰叁】 资源管理与国际化

    前言这是一套 张风捷特烈 出品的 Flutter&Flame 系列教程,发布于掘金社区。如果你在其他平台看到本文,可以根据对于链接移步到掘金中查看。因为文章可能会更新、修正,一切以掘金文章版本为准。本系列源码于 【toly_game】 ,如果本系列对你有所帮助,希望点赞支持,本系列文章一览:【Flutter&Flame 游戏 - 壹】开启新世界的大门【Flutter&Fla

    日期 2023-06-12 10:48:40     
  • Flutter 结合 Dio 使用

    Flutter 结合 Dio 使用

    上一篇文章 Flutter 布局备忘录 -- 多图警告,干货建议收藏 中,我们基本了解了 Flutter 相关的布局。那么,我们怎么拿到数据,然后填充到部件中呢?这里我们使用 Dio 来进行接口的请求。学过前端的读者应该不陌生,在 package.json 中有下面两种方式引入包:"dependencies": { "@angular/animations&quo

    日期 2023-06-12 10:48:40     
  • flutter系列之:Material主题的基础-MaterialApp

    flutter系列之:Material主题的基础-MaterialApp

    简介为了简化大家的使用,虽然flutter推荐所有的widget都有自己来进行搭建,但是在大框架上面,flutter提供了Material和Cupertino两种主题风格的Widgets集合,大家可以在这两种风格的继承上进行个性化定制和开发。这两种风格翻译成中文就是:材料和库比蒂诺?什么鬼….我们还是使用默认的英文名来称呼它们吧。本文我们将会深入讲解Material主题的基础-MaterialAp

    日期 2023-06-12 10:48:40     
  • Flutter自带国际化适配自动生成方案

    Flutter自带国际化适配自动生成方案

    1. 介绍在研究别人的项目期间,突然发现了此方案,特意分享,原来flutter自己已经有一套成熟的国际化生成功能,配置完成后,只需要编写arb即可,主要有以下步骤新建一个l10n.yaml文件添加和配置所需文件更改pubspec.yamlflutter packages get使用1. 新建一个l10n.yaml文件添加内容如下:arb-dir: lib/l10n/arb template-arb

    日期 2023-06-12 10:48:40     
  • flutter系列之:flutter中常用的container layout详解

    flutter系列之:flutter中常用的container layout详解

    简介在上一篇文章中,我们列举了flutter中的所有layout类,并且详细介绍了两个非常常用的layout:Row和Column。掌握了上面两个基本的layout还是不够的,如果需要应付日常的layout使用,我们还需要掌握多一些layout组件。今天我们会介绍一个功能强大的layout:Container layout。Container的使用Container是一个空白的容器,通常可以用Co

    日期 2023-06-12 10:48:40     
  • Flutter 第一个程序Hello World!

    Flutter 第一个程序Hello World!

    Flutter 第一个程序Hello World!前言正文一、Flutter SDK下载二、环境变量配置三、Android Studio 开发环境四、运行hello_world项目五、创建Flutter项目六、Flutter工程结构七、Flutter开发核心思想尾声前言  Flutter实际上在我学习Android之前就已经听说过了,不过那时候的Flutter还是初始版本,并不如原生,虽说有跨平台

    日期 2023-06-12 10:48:40     
  • 【Flutter&Flame 游戏 - 贰陆】pinball 源码分析 - 游戏主页

    【Flutter&Flame 游戏 - 贰陆】pinball 源码分析 - 游戏主页

    持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第 27 天,点击查看活动详情前言这是一套 张风捷特烈 出品的 Flutter&Flame 系列教程,发布于掘金社区。如果你在其他平台看到本文,可以根据对于链接移步到掘金中查看。因为文章可能会更新、修正,一切以掘金文章版本为准。本系列源码于 【toly_game】 和 【pinball】,如果本系列对你有所帮助,希望点赞支

    日期 2023-06-12 10:48:40     
  • 【Flutter&Flame 游戏 - 贰捌】pinball 源码分析 - 游戏主场景的构成

    【Flutter&Flame 游戏 - 贰捌】pinball 源码分析 - 游戏主场景的构成

    持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第 29 天,点击查看活动详情前言这是一套 张风捷特烈 出品的 Flutter&Flame 系列教程,发布于掘金社区。如果你在其他平台看到本文,可以根据对于链接移步到掘金中查看。因为文章可能会更新、修正,一切以掘金文章版本为准。本系列源码于 【toly_game】和 【pinball】 ,如果本系列对你有所帮助,希望点赞支

    日期 2023-06-12 10:48:40     
  • 【Flutter桌面篇】Flutter&Windows应用尝鲜

    【Flutter桌面篇】Flutter&Windows应用尝鲜

    零、前言 最近换了一台新的windows,把搭建Flutter&Windows应用的环境过程顺便记录分享一下。 Flutter对MacOS的支持还是非常好的,因为iOS和MacOS最终都是用XCode构建的,所以运行在Mac桌面上也轻而易举。 要让Flutter运行在Windows上,还是比较麻烦的,这也造成一定的门槛。这篇就来介绍一下如何支持Windows桌面程序。 我

    日期 2023-06-12 10:48:40     
  • 【Flutter 小知识】震动反馈 HapticFeedback

    【Flutter 小知识】震动反馈 HapticFeedback

    theme: hydrogen1. 缘起这两天在研究 CupertinoSliverRefreshControl 组件,使用中有个小细节吸引到了我的注意。在下拉达到一定程度时,会有 weng 的一声震动感。然后翻看源码中的具体实现逻辑,在下拉量大于 refreshTriggerPullDistance 时,会触发 HapticFeedback.mediumImpact(); 方法。看到 Feedb

    日期 2023-06-12 10:48:40     
  • Flutter 绘制探索 | 箭头端点的设计

    Flutter 绘制探索 | 箭头端点的设计

    theme: cyanosis上一篇 《Flutter 绘制探索 | 来一起画箭头吧》 ,实现了一个可以自由拓展的箭头绘制小体系。线和箭头的旋转已经封装好了,只需要在矩形端点矩形域中提供路径即可。本文我们就来对端点的箭头路径进行拓展,丰富箭头的样式,同时也更方便使用者调用。 毕竟用别人现成的要比自己绘制简单地多,也不是所有人都有绘制的能力。这个箭头小系列就是为了打造一个小巧、便捷的箭头绘制库。所以

    日期 2023-06-12 10:48:40     
  • Flutter 桌面探索 | 自定义可拖拽导航栏

    Flutter 桌面探索 | 自定义可拖拽导航栏

    1. 前言上一篇 《桌面导航 NavigationRail》 中介绍了官方的桌面导航,但整体灵活性并不是太好,风格我也不是很喜欢。看到飞书桌面端的导航栏可以支持拖拽排序,感觉挺有意思。而且排序之后,下次进入时会使用该顺序,而且在其他设备上也会同步该配置顺序。这说明用户登录时会从服务器获取配置信息,作为导航栏的状态数据决定显示。本文我们将来探讨两个问题:第一:如何将导航栏的数据变得 可配置。第二:如

    日期 2023-06-12 10:48:40     
  • flutter 之Text介绍

    flutter 之Text介绍

    Flutter 自带了一套强大的基础 widgets,下面会给大家一一介绍2.3.1 基本用法Text widget 可以用来在应用内创建带样式的文本。文本作为UI最基本的元素,最基本的用法有这些:字体文字大小、颜色一些常用样式,比如倾斜,加粗,下划线,删除线等文字超出边界之后如何显示文字的单行,多行控制文字的显示方向富文本的显示文字渐变,阴影文本点击事件Text("Hello worl

    日期 2023-06-12 10:48:40     
  • flutter主题设置

    flutter主题设置

    App主题色控制Theme有两种:全局Theme和局部Theme。全局Theme是由应用程序根MaterialApp创建的Theme 。Theme作用:可以设置Widget的主题,提高开发效率和速度,保持App主题统一性或某种一致性。ThemeTheme组件可以为material APP定义主题数据(ThemeData)。Material组件库里很多组件都使用了主题数据, 如导航栏颜色、标题字体、

    日期 2023-06-12 10:48:40     
  • flutter的画布认识

    flutter的画布认识

    本节目标:[1]. 认识画布的变换和状态 (save/restore)。 [2]. 基础图形的绘制操作:绘制点、绘制线、绘制类矩形、绘制类圆。 [3]. 其他绘制:绘制颜色、绘制画笔、绘制阴影、绘制路径。 [4]. 画布裁剪:矩形裁剪、圆角矩形裁剪、路径裁剪。 复制一、画布变换和状态画布变换主要通过一个 4*4 的变换矩阵。其中transform方法是最核心的,也是最难用的。 不过另外四个方法是为

    日期 2023-06-12 10:48:40     
  • flutter中如何优雅的使用日志

    flutter中如何优雅的使用日志

    flutter中的loggerflutter中的日志使用print实现,但是print只能显示一种颜色,这样我们调试起来比较麻烦。所以,我在ansicolor的基础上实现了一个可以控制颜色的日志记录框架。如何使用已发布pub,直接引用即可colorize_logger: ^[last version]地址:https://pub.dev/packages/colorize_loggergithub

    日期 2023-06-12 10:48:40     
  • flutter中如何实现deeplink

    flutter中如何实现deeplink

    1.哪些场景会用到deeplink?h5唤醒APP(比如活动页,通过短信下发链接等等)其他APP跳转打开自己的APP2.flutter中如何使用2.1 安卓配置安卓支持两种app links 和deep links app links需要是scheme需要指定https,并且要增加hosts文件assetlinks.json,还需要服务端配合。 deep links可以自定义scheme,也不要服

    日期 2023-06-12 10:48:40     
  • 学一学Flutter新的导航和路由系统

    学一学Flutter新的导航和路由系统

    阅读大概需要9分钟 本文介绍了flutter中Navigator和RouterAPI是如何工作的。如果你一直在关注 Flutter 开放的设计文档[1],你可能已经看到了这些称为Navigator 2.0 和 Router 的[2]新功能。下面我们将探索这些 API 如何对应用中的视觉进行更精细的控制,以及如何使用它来解析路由。这些新的 API 并没有破坏性的变化,只是添加了一个新的_声明性_AP

    日期 2023-06-12 10:48:40     
  • 真香,我用Makefile做Flutter项目的自动化管理

    真香,我用Makefile做Flutter项目的自动化管理

    在开发我们的 Flutter 项目时,有许多可重复的任务——格式化、在我们创建 PR 之前运行单元测试、清理项目,以及运行甚至构建不同风格的应用程序。尽管我们的 IDE 可以轻松执行其中一些操作,但我们可能已经爱上了命令行,这意味着我们要么创建我们的脚本,要么我们每次都必须手动输入每个命令。那有没有更好的方法来自动化这个?有!那就是Makefile!这Makefile允许我们在一个文件中创建一组不

    日期 2023-06-12 10:48:40     
  • flutter中的响应式布局

    flutter中的响应式布局

    Flutter是一个跨平台的UI框架, 我们能够一次编程就可以手机、PC、web上多端使用。那么,我们如何做到一次编码就可以适配不同的屏幕呢?总不能只适配手机尺寸,在PC端就可能看起来很丑了,这样用户体验就非常的差了,如下图: 大屏幕上显示手机版布局 复制很显然,这不是我们希望看到的结果,这时候就轮到我们的响应式布局(responsive layout)上

    日期 2023-06-12 10:48:40     
  • mix-一个让flutter更方便的库

    mix-一个让flutter更方便的库

    flutter使用theme能保持多端界面的一致性,但是很多时候,还是有些内部属性需要去维护。比如如下的一个实现,就需要写很多属性。那有没有什么简便的方法呢?还真有,最近我就找到了一个flutter的第三方库mix,使用mix实现上面的功能,只需要如下是不是干净很清爽?mix为我们定义了很多widget,这样我们的系统将会得到更好的维护。想使用mix需要在pubspec.yaml里引入:depen

    日期 2023-06-12 10:48:40     
  • 源码推荐:一款flutter实现的闹钟

    源码推荐:一款flutter实现的闹钟

    GitHub地址:https://github.com/ZulfikarKN/simple_alarm_app?ref=flutterawesome.com界面如下:

    日期 2023-06-12 10:48:40     
  • 每日tips:快速在flutter快速生成中mock数据

    每日tips:快速在flutter快速生成中mock数据

    在flutter中我们如何快速的去mock一些数据?使用这个 faker (https://pub.dev/packages/faker)包 ,将数据mock变的超级简单!可以使用它来生成地址、姓名、食物、日期、运动... 你也可以自定义。下面是使用的小例子:import 'package:faker/faker.dart'; void main() { final fa

    日期 2023-06-12 10:48:40     
  • 2022-02-23:flutter weekly第7期

    2022-02-23:flutter weekly第7期

    flutter weekly 是一份免费的每周咨询,可帮助你在 Flutter 开发方面保持领先地位。每周分享全球精彩文章、教程、插件和视频,如果您觉得有用,请不要吝啬您的掌声、评论、赞赏或任何其他您想给予的认可。如果你有任何关于 Flutter 或 Dart 的消息想要与我分享,请联系我。这是我举办的第7期,以后每周一期,欢迎大家监督。教程Create your Chrome Extension

    日期 2023-06-12 10:48:40     
  • flutter系列之:flutter中常用的Stack layout详解

    flutter系列之:flutter中常用的Stack layout详解

    简介对于现代APP的应用来说,为了更加美观,通常会需要用到不同图像的堆叠效果,比如在一个APP用户背景头像上面添加一个按钮,表示可以修改用户信息等。要实现这样的效果,我们需要在一个Image上面堆叠其他的widget对象,flutter为我们提供了这样的一个非常方便的layout组件叫做Stack,今天和大家一起来聊一聊Stack的使用。Stack详解我们先来看下Stack的定义:class St

    日期 2023-06-12 10:48:40