Flutter开发技术
文章平均质量分 85
Flutter开发技术
独立开发者张张
集美美图App开发者、极简主义创业者、独立开发者、一人企业CEO、猫奴、做过美团骑手、躺平了
展开
-
Flutter 中的低功耗蓝牙概述
希望本文能对您编写蓝牙低功耗 Flutter 应用程序有所帮助。蓝牙低功耗技术成本低、易于部署,而且可与基于互联网的应用程序连接,对延长消费电子产品的电池寿命有积极影响,因此绝对值得使用。原创 2024-09-07 22:06:05 · 1213 阅读 · 0 评论 -
关于 Flutter 中 Mounted 属性您需要了解的一切
Mounted 属性是 Flutter 框架在 State 类中提供的布尔标志。它指示状态对象当前是否在小部件树中。创建 State 对象之后、调用 initState 之前,框架通过将 State 对象与 BuildContext 关联来“mounted”该对象。State 对象保持挂载状态,直到框架调用 dispose,之后框架将不再要求 State 对象再次构建。换句话说,当一个 widget 从 widget 树中删除时,其关联的状态对象也被删除,并且 mounted 属性被设置为 false。翻译 2024-08-29 21:50:07 · 294 阅读 · 0 评论 -
2024 年 GitHub 上的十大 Flutter 仓库
根据 2022 年 StackOverflow 调查显示,Flutter 是最受欢迎的跨平台工具之一。自发布以来的 16 个月内,已有超过 200 万开发者采用了 Flutter。在本博客中,我们将浏览 GitHub 上可用的顶级 Flutter 存储库。除了每个存储库之外,还提供了对其优缺点的深入了解以及 GitHub 链接,可帮助您了解它们如何在应用程序开发领域使您受益。原创 2024-08-27 21:20:33 · 751 阅读 · 0 评论 -
2024 年顶级 Flutter UI 框架和库
根据 2022 年 StackOverflow 调查显示,Flutter 是最受欢迎的跨平台工具之一。自发布以来的 16 个月内,已有超过 200 万开发者采用了 Flutter。在本博客中,我们将浏览 GitHub 上可用的顶级 Flutter 存储库。除了每个存储库之外,还提供了对其优缺点的深入了解以及 GitHub 链接,可帮助您了解它们如何在应用程序开发领域使您受益。原创 2024-08-25 22:22:01 · 2394 阅读 · 0 评论 -
如何在 Flutter 中实现 2D 可滚动 TableView,探索 Flutter 中的二维可滚动项
Flutter 的预构建 widget 具有出色的性能,仅当子视图位于视图中时才延迟渲染子视图,从而提高了性能,但 Flutter 发布了一个新包来实现在垂直轴和水平轴上滚动的 TableView。在本教程中,我们将探索这个包来实现一个非常简单的 Tableview,并了解如何自定义它。您可以在这里找到完整的源代码。翻译 2024-07-14 20:51:40 · 302 阅读 · 0 评论 -
了解并解决 Flutter 中的灰屏问题
为了显示更用户友好的消息而不是灰屏,我们将策略性地在main函数中放置一行代码。该行充当预防措施,确保每当发生未处理的异常时都会显示自定义错误屏幕。原创 2024-06-15 23:34:11 · 1394 阅读 · 0 评论 -
在 Flutter 中正确处理文本缩放
本教程的结构首先介绍最简单且最有影响力的解决方案。后面的部分涵盖了较难实施且总体影响较小的解决方案,但它们对于解决特定情况很有用。原创 2024-06-07 20:45:23 · 732 阅读 · 0 评论 -
告别 Dart 中的 Future.wait([])
zipWith 扩展方法允许您将两个future的结果组合成一个类型化元组,从而无需手动转换。在此示例中,我们将合并两个future的结果:一个解析为字符串 “andrew”,另一个解析为整数 1984。该zipWith方法返回一个元组,(T, T2)其中T是第一个未来的类型,T2是第二个未来的类型。但是等等,还有更多!您甚至可以链接多个zipWith调用来组合三个或更多future// ...在此示例中,我们将三个 futures 组合在一起,从而生成一个嵌套元组。原创 2024-05-25 22:09:11 · 559 阅读 · 0 评论 -
我用 Flutter、React Native 和 Ionic 构建了相同的应用程序
在开始寻找最佳的跨平台移动开发框架的过程中,Flutter、React Native 和 Ionic 是让我印象深刻的。这三款产品很有吸引力,因为它们承诺在为多个平台使用单一代码库的同时提供良好的性能。为了开始冒险进入这个新世界,我创建了三个版本的移动应用程序,这些应用程序使用 API 并在屏幕上显示基本数据。这个想法很简单:构建一个应用程序,显示一个随机国家的详细信息。我以前在 Python 中做过类似的项目。让我们先深入了解一下我使用 Flutter 构建移动应用程序的经验。原创 2024-05-16 16:11:04 · 639 阅读 · 1 评论 -
为 Flutter 应用设置主题:ThemeData 和 ColorScheme 指南
在媒体和其他来源中有许多关于这个主题的文章,那么这篇文章的必要性是什么?在本文中,我计划仅关注ThemeData小部件的关键点以及我的开发经验中最常用的参数,并且您将获得有关每个参数如何对您的应用程序执行操作的简要说明。你好奇吗?继续阅读🤗。原创 2024-05-08 17:14:50 · 2865 阅读 · 0 评论 -
Flutter 从 Assets 中读取 JSON 文件:指南 [2024]
在本教程中,我们将探讨如何从 Flutter 项目中的 asset 中读取 JSON 文件。您将找到详细的解释、实际示例和最佳实践,使您的 JSON 文件处理顺利高效。那么,让我们深入了解 Flutter 和 JSON 的世界吧!原创 2024-04-26 15:59:59 · 910 阅读 · 3 评论 -
如何在 Flutter 中制作多种颜色的 TextField
原文:https://medium.com/akvelon/how-to-make-textfield-in-multiple-colors-in-flutter-c317ae0efafe。你可以进行更复杂的处理。类是实现各种自定义功能的大门。widget 本身并不施加任何样式。对象中,这就是通常应用颜色的方式。我们首先导入为另一个项目制作的。对象,即一段带有样式的文本。,默认实现只是将其放入。如果您有兴趣,请查看这里。要重载该方法,请子类化。请参阅此处的完整代码。请参阅此处的完整代码。原创 2024-04-23 19:29:10 · 826 阅读 · 3 评论 -
Dart 中 JS 互操作的历史
这引发了 JS Types 的工作,以在编程模型中明确定义 Dart 和 JS 的边界,并找到在 Wasm 和 JS 编译目标中使用 JS 的一致方法。2023 年,当我们在 Dart 3.0 中放弃了不健全的空安全性时,我们终于看到了我们所取得的进步,我们的设计和 @staticInterop 的工作清楚地表明,我们已经准备好解决长期存在的健全性差距。了解我们的过去,我们确信这不是旅程的终点,而是我们历史上令人兴奋的时刻。这意味着我们的互操作性是我们原本健全的语言中不健全的根源。原创 2024-04-11 15:40:19 · 1171 阅读 · 0 评论 -
Flutter Keys: 你的终极指南,让 widget 世界更快乐
我们将讨论 UniqueKey、ValueKey、ObjectKey、PageStorageKey 和 GlobalKey — 所有这些很棒的 Key 类型都可以提升您的 Flutter 水平!原创 2024-04-07 17:32:36 · 390 阅读 · 0 评论 -
Flutter 3.13 之后如何监听 App 生命周期事件
在 Flutter 中,您可以监听多个生命周期事件来处理应用程序的不同状态,但今天我们将讨论事件。每当应用程序的生命周期状态发生变化时,就会触发此事件。可能的状态有resumedinactivepauseddetached和hidden。您可以使用mixin 监听此事件。resumedinactivepauseddetachedhidden通过在有状态小部件中实现这些生命周期状态,您可以响应不同的事件并相应地管理应用程序的状态。原创 2024-03-20 16:50:10 · 1572 阅读 · 0 评论 -
使用 GitHub Actions 通过 CI/CD 简化 Flutter 应用程序开发
在 main.yml 文件中,定义您的工作流程。这是我在我的用例中使用的一个示例。on:branches:- devjobs:build:steps:with:with:with:在本示例中,工作流是在向dev分支提出 pull_request 时触发的。您可以根据需要在任何 github action(如推送等)上运行此工作流。检查存储库代码。使用安装依赖项。使用运行测试(如果您已定义任何测试)。使用构建 APK。使用上传工件将开发好的 apk 上传到工件。原创 2024-03-17 19:44:45 · 1569 阅读 · 0 评论 -
在 Flutter 中使用 flutter_gen 简化图像资产管理
你是否厌倦了在 Flutter 项目中手动管理图像资产的繁琐任务?告别手工输入资源路径的痛苦,欢迎使用“Flutter Gen”高效资源管理的时代。在本文中,我将带您从手动处理图像资源的挫折到动态生成它们的便利。原创 2024-03-05 17:32:40 · 1287 阅读 · 1 评论 -
Flutter 中 Gap 和 SizedBox 的比较与区别
在 Flutter 中,两个小部件在控制应用设计布局尺寸和空间方面起着至关重要的作用,它们是 SizedBox 和 Gap 小部件。在 Flutter 中构建响应式布局时,间距和大小很重要。框架提供了一些简单但功能强大的小部件来控制间距和大小,SizedBox 和 Gap。让我们来了解一下 SizedBox 和 Gap。原创 2024-02-23 20:13:24 · 1509 阅读 · 1 评论 -
Flutter 和 Dart 软件包生态系统的进展情况
Flutter 和 Dart 包生态系统仍然是开发人员从单一代码库为任何屏幕构建漂亮、高性能应用程序的关键驱动因素。2023年,该生态系统从1月份的3.8万个包增长到12月底的4.8万个包,增长了26%。截至 2024 年 1 月,Pub.dev 每月活跃用户超过 700,000 人。Flutter 团队仍然热衷于并致力于支持这种增长,并使开发人员能够使用 Flutter 和 Dart 构建并为 Flutter 和 Dart 做出贡献。翻译 2024-02-03 15:40:05 · 147 阅读 · 0 评论 -
Flutter 高级动画技术综合指南
在动画领域,Flutter 提供了一系列功能,包括基于物理的动画,可以模拟真实世界的动态,在应用程序中创建更逼真和自然的运动。本文将深入研究 Flutter 动画,探索各种类型,并演示如何在项目中实现它们。Flutter 的动画系统围绕着一个“Animation 对象”的概念,这个对象的值会随着时间而变化,这个变化由一个“AnimationController”来控制,它定义了动画的持续时间、方向和其他参数,要设置一个动画,这两个元素必须连接起来。原创 2024-01-29 19:54:10 · 1467 阅读 · 1 评论 -
Flutter中状态管理选项的比较:利弊探索
Flutter 应用程序开发的一个关键方面是管理状态,这确保了整个应用程序的数据一致性和更新。然而,Flutter 提供了多种状态管理解决方案,每种解决方案都有自己的优缺点。在这篇博客中,我们将探讨 Flutter 中一些流行的状态管理选项,并讨论它们的优缺点。原创 2024-01-24 15:05:06 · 1053 阅读 · 0 评论 -
如何在 Flutter 中使用 Tree Shaking 功能优化应用程序的性能
Tree Shaking 是一种消除死代码的过程,可帮助您删除应用程序中未使用或多余的代码。它对于 Flutter 等基于 JavaScript 的框架尤为重要,因为在这些框架中,优化捆绑包大小和运行时性能是重中之重。在 Flutter 中,Dart 编译器采用 Tree Shaking 来删除构建过程中任何未使用的代码、库或类,从而生成更紧凑、更高效的最终包。Tree Shaking 可确保应用程序中仅包含代码的必要部分,从而减小其大小并提高性能。原创 2024-01-11 15:03:40 · 1136 阅读 · 0 评论 -
在 Flutter 中创建圆角图像和圆形图像有多少种方法?
使用ContainerClipRRectCard和实现具有视觉吸引力的图像效果。在 Flutter 应用 UI 设计中,圆形图像是常见的视觉元素。本博客探讨了使用不同技术实现圆形图像效果的各种方法。无论是使用网络图像、本地文件还是资源,这些方法都可以灵活地创建圆形和圆角形状。原创 2024-01-09 15:14:39 · 977 阅读 · 0 评论 -
Flutter 中数据存储的四种方式
可以根据您的具体项目要求选择这些存储选项。无论您需要在本地存储小块数据、管理结构化数据、存储文件还是利用远程云存储,Flutter 都提供各种工具和软件包来帮助您高效处理不同的存储需求。在 Flutter 中,存储是指用于本地和远程存储和管理数据的机制。以下是 Flutter 中不同存储选项的概述和示例。原创 2023-11-19 14:59:34 · 2005 阅读 · 0 评论 -
Flutter 中在单个屏幕上实现多个列表
今天,我将提供一个实际的示例,演示如何在单个页面上实现多个列表,这些列表可以水平排列、网格格式、垂直排列,甚至是这些常用布局的组合。原创 2023-11-16 16:36:00 · 952 阅读 · 0 评论 -
超越基础:Flutter 中 onTap 的 5 条规则让你脱颖而出
小事情决定了你的熟练程度,这些小细节的有趣之处在于它们的丰富性。您将在代码库中的数百个位置遇到 onTap 事件。增强它们可以对代码的可维护性和最终用户体验产生重大的积极影响。就是这样一个微小但丰富的东西——我们在每个屏幕上都使用它。这纯粹是关于那些 onTap 事件:该做和不该做。原创 2023-11-06 14:30:14 · 359 阅读 · 0 评论 -
将 UniLinks 与 Flutter 集成(安卓 AppLinks + iOS UniversalLinks)
什么是 Deep Linking?Deep Linking(深层链接)就像有一个指向应用程序某些部分的快捷方式。这是一种特殊的网络链接,它不仅可以打开您的应用程序,还可以将您带到应用程序内的特定位置。就像打开一本书,直接翻到您想阅读的页面一样。它是如何工作的?假设您在应用程序中发现了一篇很棒的文章,并且想与朋友分享。您可以向他们发送一个特殊的链接,将他们直接带到该文章,而不是将他们发送到应用程序的主页并要求他们查找该文章。这就像给他们送了一条秘密通道。最酷的部分是什么?原创 2023-11-03 21:01:53 · 1783 阅读 · 0 评论 -
Flutter中的StreamBuilder和FutureBuilder有什么区别
首先,让我们探索,它是为处理将来返回单个值的异步操作而设计的。请按照以下步骤来利用当您有一个返回值的一次性异步操作(例如 HTTP 请求或从文件中读取)时,请使用。。创建一个Future对象来表示您要执行的异步操作。例如,您可以使用http.get()发出 HTTP 请求并获取响应。将取决于未来结果的 UI 部分包装在小部件内。你最好理解这些代码。打开您的 main.dart 文件并执行此代码,看看输出结果如何。原创 2023-10-11 01:05:37 · 438 阅读 · 0 评论 -
在Flutter中如何创建一个有凹槽的底部导航栏
本指南将演示如何在底部导航应用栏中添加一个有凹槽的浮动操作按钮。底部导航栏的凹槽浮动操作按钮增强了你的应用程序的用户界面的美感翻译 2023-04-23 15:55:15 · 369 阅读 · 1 评论 -
Flutter 中的应用内购买
在本文中,我尝试解释了应用内购买方法的一种方法。它是对应用内购买方法的介绍。您可以在 Youtube 上找到一些从一开始就制作应用程序的复杂教程。如果您不理解本文并想观看教程,我可以推荐您观看的 RevenueCat 教程。作者:Talha SEZER。翻译 2022-11-15 23:28:27 · 1880 阅读 · 0 评论 -
如何使用Flutter的指纹设置本地认证
在用户体验方面,我们最常发现的是安卓手机有指纹认证,iPhone有面部识别。让我解释一下幕后发生的主要情况。当用户在第一次登录/注册后决定使用上述方法激活认证时,他/她实际上是在说把我的登录凭证保存在本地主机中,没有注册指纹和脸部识别的人无法访问。因此,当用户登录并决定使用此方法时,它基本上会从本地存储的位置获取登录凭据。在这篇文章中,我将向你展示如何访问设备,并验证其收到的作为输入的指纹或面部识别是否在设备上注册。翻译 2022-10-21 13:51:42 · 769 阅读 · 0 评论 -
如何使用 Flutter 创建动态岛和 ActivityKit
我使用的是 Xcode 14.1 Beta 2,但您可以将其用作 Native 和 Flutter 的指南。也就是说,Apple 没有提供任何示例代码,所以我为自己创建了一个,以便在它发布时在我的项目中使用。如果您有一个现有的 Widget Kit,则必须将 @main 从 Widget Kit 移动到一个新类,以便我们可以将两个当前的小部件与 ActivityKit 一起使用。只需触摸并按住主屏幕上的小部件套件,然后单击 + 即可将您的应用添加为小部件。把这个文件的目标添加到主项目和小部件的扩展中。翻译 2022-10-14 15:55:09 · 825 阅读 · 0 评论 -
在flutter中动态地改变应用启动器图标
在本文中,我们将讨论如何在 Flutter 应用程序的运行时动态更改多个应用程序启动器图标。翻译 2022-10-14 15:51:43 · 579 阅读 · 0 评论 -
Flutter 应用程序布局的最佳实践
Flutter 中几乎所有的东西都是一个小部件,当你编写小部件时,你可以构建一个布局。例如,您可以在列小部件中添加多个小部件以创建垂直布局。随着您继续添加更多小部件,您的 Flutter 应用程序布局将变得越复杂。在本文中,我将介绍一些在布局 Flutter 应用程序时要实施的最佳实践。在 Flutter 中使用 SizedBox 代替 Container有许多使用情况下,你需要使用占位符。让我们看一下下面的例子:return _isLoaded ? Container() : YourAweso.翻译 2022-03-26 19:55:16 · 506 阅读 · 0 评论 -
在Flutter移动应用开发中减少应用大小
如果您是移动应用程序开发人员,那么您肯定会关心应用程序的大小,并且总是尝试构建小型应用程序并使用减小大小的技术。在 4G 和现代智能手机时代为用户提供应用程序时,减小尺寸成为重要且必不可少的过程之一,因为人们更喜欢较小的应用程序,许多用户在下载任何太大的应用程序之前会避免并三思而后行。根据一份报告,大多数智能手机用户的数据套餐都是有限的,所以他们不喜欢在单一的应用程序上花费他们的数据包。在编码过程中,我们需要进行优化,尽量减少应用的大小。翻译 2022-09-29 14:57:34 · 278 阅读 · 0 评论 -
在 Flutter 中使用 setState 时的 6 个简单技巧
setState 函数是在 Flutter 应用程序中管理状态的最基本方法。以下是一些保持应用可维护性的最佳实践。StatefulWidget 的 setState 函数是一种在 Flutter 应用程序中管理状态的简单方法。但是,当您希望您的应用程序正常工作和高性能时,您需要避免几个陷阱。以下是您应该坚持的一些最佳实践。setState 有什么用?setState 是Flutter发出 rebuild (重建)当前 widget 及其后代的方式。在 rebuild 过程中,最新的变量值将被用于创建.原创 2022-05-25 13:48:52 · 1882 阅读 · 1 评论 -
Flutter — 根据不同的屏幕尺寸有效缩放 UI
根据不同的屏幕尺寸有效缩放 UI翻译 2022-10-11 21:29:09 · 578 阅读 · 0 评论