12 天前 / 携程技术
作者简介 Derek Yang,携程资深研发经理,专注于 iOS 开发 & 跨端技术研究,热衷于新技术探索。 一、前言 2020 年 9 月苹果发布了 iOS 14.0,相较之前有了很大的功能改观,很重要的一点是用户可以更加个性化的定义自己的桌面,Widget 就是这项功能的主角。 近期接到一项产品需求,需要实现若干机票业务相关的 Widget,此文总结该需求开发上线过程中的踩坑填坑经验。 Widget 俗称小组件,是苹果推出的众多 App Extension 中的一款。因此在介绍 Widget 之前,需要先了解 App Extension 及其工作原理。
142 天前 / Ryan众乐
背景 组件(模块)封装与开发可以给前端业务开发的过程带来非常大的研发效能的提升,各个业务域的开发者会定制开发许多符合自己业务场景的基础组件(模块)沉淀一套快速复用的物料体系,以保证业务开发的研发效能。同样,在各个 Flutter 团队,也有大量的 Flutter Widget 的物料,以及各种基于 Flutter 场景做的性能优化。在大前端的视角下,我们期望在端内拥有 Web 开发的研发效能以及动态性的同时,也期望通过一些 Native 的优化手段让应用拥有媲美原生的体验与性能。
241 天前 / Android_开发者
写文章登录创造无限可能 | 在 Android 12 中使用 widget 谷歌开发者 2 人赞同了该文章本文是 "更新 Android 12 中 widget" 系列的第二篇文章。在上一部分我们探讨了通过一些简单的方法,为 APP 用户呈现出非常显性的视觉更新。在这篇文章中,我们将一起了解一些更高级别的特性,这些功能会让您的 widget 更具交互性,更容易配置,并能在 Android 12 上呈现更好的 UI 体验。 更简单的配置在 Android 12 之前,重新设置 widget 意味着用户必须删除现有 widget,然后使用新配置重新添加。
339 天前 / 承香墨影
Hi,大家好,这里是承香墨影! 是的,我记起了公众号的帐号密码! 最近入坑 Flutter,又恰逢 Flutter 发布 2.0,正式全平台支持,那我也来分享一些 Flutter 相关的技术点,今天先从 const Widget 这个比较小的优化点来展开。看看它的原理和使用限制。 在 Flutter 中,可谓是 "一切皆 Widget",而 Widget 本质是一组信息的配置,它可以是 UI 展示,也可以是手势、导航等功能支持。但 Widget 被设计成不可变的,任何改变都是通过销毁 / 重建得到修改,在 Widget 不可变的背后,则是依赖 Element 可变 / 可复用的支持...
590 天前 / mr7
“本文是 Flutter 性能优化系列文章之一,记录了 Flutter 团队优化 Flutter Gallery的实践。本文主要介绍了如何打造高性能的 widget。原文链接:https://medium.com/flutter/building-performant-flutter-widgets-3b2558aa08fa ”所有无状态和有状态 widget 都会实现 build() 方法,这个方法决定了它们是如何渲染的。app 中的一屏就可能有成百上千个部件,这些部件可能只会构建一次,或者在有动画或者某种特定的交互情况下,也有可能构建多次。如果想构建快速的 widget,你一定要很谨慎地选择构建哪些 widget,以及在什么时候构建。
607 天前 / i校长
往期相关内容 Flutter State Management 状态管理全面分析:https://www.jianshu.com/p/9334b8f68004Flutter Provider 迄今为止最深、最全、最新的源码分析:https://juejin.im/post/6844904176074358791Flutter 之万物皆 Widget:https://juejin.im/post/6873323337016311816 前言在上期,我们手写了一个 Widget 的实现,并接触到了 Element,经过一系列的分析,我们对 Widget 和 Element 的认识更进一步,那么这期我们就来深入理解下 State,相信大家在开发过程中,总会用到 StatefulWidget...
793 天前 / 木子刀口888
首先我们来了解下什么 Widget,其实就是相当于 iOS 开发中的 UIView,在 dart 中 Widget 分为两大类 StatefulWidget ( 有状态 Widget) 状态是在构建 widget 时可以同步读取的信息,或者在 widget 的生命周期中可能更改的信息,在 Flutter 中如果要管理状态需要用到StatefulWidget。 StatelessWidget(无状态 Widget) Flutter 中的 StatelessWidget 是一个不需要状态更改的 widget- 它没有要管理的内部状态。
814 天前 / 老孟程序员
Flutter Widgets 之 ListWheelScrollView 原创 老孟程序员最后发布于 2020-02-29 20:01:48 阅读数 285
960 天前 / hui朝晖
首先道个歉,最近公司很忙,又赶上十一假期,所以鸽了将近半个月。 不过,后续还是会每周最少更新两篇的! 那说起网络请求的控件,我们首先是不是会想起FutureBuilder? FutureBuilder给我们封装好了网络请求中的各种状态。 如果没有了解过,那么可以看我这篇文章:Flutter - FutureBuilder 异步UI神器。 这篇文章是早期写的,有些地方写的有些问题,但不重要!主要了解一下FutureBuilder的状态就可以了。 本篇文章中只是提供一种思路,欢迎一起探讨,也欢迎不吝赐教! 效果如下。
963 天前 / coderwhy
前言一:接下来一段时间我会陆续更新一些列Flutter文字教程 更新进度: 每周至少两篇; 更新地点: 首发于公众号,第二天更新于掘金、思否、开发者头条等地方; 更多交流: 可以添加我的微信 372623326,关注我的微博:coderwhy 希望大家可以 帮忙转发,点击在看,给我更多的创作动力。 前言二:为了实现界面内组件的各种排布方式,我们需要进行布局,和其他端不同的是,Flutter中因为万物皆Widget,所以布局也是使用Widget来完成的。
1001 天前 / hui朝晖
先来看图: 我们在日常使用 APP 当中,肯定会遇到这种效果,那么这种效果是如何实现的呢? 确认需求首先还是老套路,先确定一下需求,捋一下思路,然后才好写代码: 1.首先要有一个圆2.这个圆会边扩散边消失3.当这个圆扩散到一定程度的时候再绘制一个圆4.有限循环 / 无限循环5.可以有 / 无 Child 捋好了思路,下面我们来开始实现。 首先要有一个圆首先有一个圆,这个圆应该怎么画?我想到了两种方案: 1.CustomPaint2.ClipOver 这两种方式都很简单,所以我选择了后者,因为后者更简单(23333)。
1046 天前 / 吴朝晖
上回书对 Flutter 中 Widget 测试的官方 Demo 进行了简单的讲解,这篇文章我们对自己的项目进行 Widget 测试。 就拿 「想吃啥」APP 来进行测试吧。 在首页中,我们可以看到有 6 个 Widget,有: 1.荤菜 & 素菜:2.选个菜吧 ×23.Button ×2 因为平时我们写APP的时候,肯定会封装一些 Widget 来进行复用,所以首页中 选个菜吧 & Button 都被我封装成了一个 Widget。 下面我们就先针对这两个 Widget 进行测试。 选个菜吧首先我们也是根据步骤来,先编写 Widget,然后编写 Widget 测试。
1046 天前 / 吴朝晖
上回书对 Flutter 中 Widget 测试的官方 Demo 进行了简单的讲解,这篇文章我们对自己的项目进行 Widget 测试。 就拿 「想吃啥」APP 来进行测试吧。 在首页中,我们可以看到有 6 个 Widget,有: 1.荤菜 & 素菜:2.选个菜吧 ×23.Button ×2 因为平时我们写APP的时候,肯定会封装一些 Widget 来进行复用,所以首页中 选个菜吧 & Button 都被我封装成了一个 Widget。 下面我们就先针对这两个 Widget 进行测试。 选个菜吧首先我们也是根据步骤来,先编写 Widget,然后编写 Widget 测试。
1128 天前 / 若数
Theme主题即在我们的应用程序中共享颜色和字体样式,比如导航栏颜色、标题字体、Icon样式等 实现import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: ThemeTestRoute(), ); } } class ThemeTestRoute extends StatefulWidget { @override _ThemeTestRouteStat...