SingleChildScrollView 类似 Android 中的 scrollview ,且同样的只可包含有一个子元素
记得上一篇的写作时间还在2018年2月份,已经很久没更新了,而flutter的版本更新了好几次,自flutter 1.0正式版推出之后,一直有打算把之前的项目重写一下,因为flutter本身更新了许多新特性,老的已经是过去式了,也老有人来问我,之前的项目运行不了,是的,因为sdk太老了,而且之前的项目纯粹是练手玩。
在Flutter中,自定义组件其实就是一个类,这个类继承自StatelessWidget/StatefulWidget。
在使用Flutter动画的时候,我们通常使用这几个组件. AnimationController,控制动画的抽象类 Animation,给定值,转换为动画 Tween, 执行范围 AnimatedBuilder, 处理动画的Widget Transform控件可以将动画执行中的变量值处理反馈在子控件上. https://github.com/dlgchg/animations_flutter
移动端数据量比较大时,一般都是通过列表来进行展示的,比如商品数据、聊天列表、通信录、朋友圈等。
常用组件 控件 特点 container(容器) 可以给组件添加padding、margin、border、bgColor、bdImage参考 GridView 容纳大量数据的可滚动的网格;按需渲染、类似于tableview的cell的复用;参考 ListView 容纳大量数据的可滚动的列表; Stack 重叠组件,无法滚动 ---- Material组件 控件 特点 Card 将相关组件放到card里,该组件带有圆角和阴影,无法滚动 ListTitle(ListView常用) 带有标题和副标题的行,首尾
在上一篇博客 【Flutter】Banner 轮播组件 ( flutter_swiper 插件 | Swiper 组件 ) 基础上进行开发 ;
这是创建您的第一个Flutter应用程序的指南。 如果您熟悉面向对象的代码和基本编程概念(如变量,循环和条件),则可以完成本教程。 您不需要以前使用Dart或移动编程的经验。
在Flutter中,一个可滚动的组件直接或间接包含一个Scrollable组件,它是可滚动组件的基础组件。
前面我们学习了文本、图片和按钮这些基本元素,这些基本元素需要进行排列组合,才能构成我们看到的UI视图。那么,当这些基本元素的排列布局超过屏幕显示尺寸(即超过一屏)时,我们就需要引入列表控件来展示视图的完整内容,并根据元素的多少进行自适应滚动展示。
可以看到和普通的没什么区别,那我们再来找一下怎么添加/删除item以及添加/删除时是如何设置动画的。
在 FLutter 中 , 所有的列表都支持设置一个 ScrollController 类型的参数 ,
当组件内容超过当前显示视口(ViewPort)时,如果没有特殊处理,Flutter则会提示Overflow错误。
日常开发中,会遇到很多这种情况,许多界面不是一页就能够显示完的。那么这里提下可滑动的容器部件
Scaffold 组件中的 drawer 参数 , 就是设置侧拉导航栏菜单的 , 为其赋值一个 Drawer 组件 ;
尝试学习一门新语言可能会令人恐惧和厌烦。很多时候,我们希望我们知道早先存在的某些功能。在今天的文章中,我将告诉你我希望早点知道的最方便的几个Flutter小部件。
在 Flutter 中滚动监听一般可以采用两种方式来实现,分别是ScrollController和NotificationListener这两种方式。
在调用 setState() 方法重建组件时,一定要最小化重建组件,没有变化的组件不要重建,看下面的Demo,这是一个设置页面,
当组件内容超过当前显示视口(ViewPort)时,如果没有特殊处理,Flutter 就会提示 Overflow 错误,为此,Flutter 提供了多种可滚动组件,用于显示列表和长布局;
builder通常返回Dialog组件,比如SimpleDialog和AlertDialog。
其基本的实现方法是在该组件添加onRefresh事件,当用户下拉刷新时会触发该事件,在该事件中可以用调用一个延时任务Future.delayed( ),在延时任务的回调中重新请求数据即可。
在 Flutter 视图布局(一)中文章结束时留下了一个问题,大家有尝试去实现吗?
* 以 Text 的部分源码为例,说明 StatelessWidget 的构建过程。
调用 List 集合的 map 方法 , 可以遍历操作集合中的每一项 , 返回一个新的数组 ;
怎样才能在我们的flutter应用中对用户输入做出响应?比如我们有个图标,我们想让它支持点击事件,或者在状态改变的时候换一个不同的图标。
回顾整篇文章,发现我们已经实现了RecyclerView的很多扩展功能,包括:打造万能适配器、添加Item事件、添加头视图和尾视图、设置空布局、侧滑拖拽。
本文的代码以图片形式显示,点击图片显示高清图。 前言 下文中Demo的源代码地址:RecyclerViewDemo(Github)。 Demo1: RecyclerView添加HeaderView和FooterView,ItemDecoration范例。 Demo2: ListView实现局部刷新。 Demo3: RecyclerView实现拖拽、侧滑删除。 Demo4: RecyclerView闪屏问题。 Demo5: RecyclerView实现setEmptyView()。 Demo6: Recyc
导语 RecyclerView是Android 5.0提出的新UI控件,可以用来代替传统的ListView。 Bugly之前也发过一篇相关文章,讲解了 RecyclerView 与 ListView 在缓存机制上的一些区别: Android ListView 与 RecyclerView 对比浅析--缓存机制 今天精神哥来给大家详细介绍关于 RecyclerView,你需要了解的方方面面。 本文来自腾讯 天天P图团队——damonxia(夏正冬),Android工程师 前言 下文中Demo的源代码地址: h
Flutter中的SingleChildScrollView类似于Android中的ScrollView,它只能接收一个子组件。
本篇主要帮助剖析理解 Flutter 里的列表和滑动的组成,用比较通俗易懂的方式,从常见的 ListView 到 NestedScrollView 的内部实现,帮助你更好理解和运用 Flutter 里的滑动列表。
在学习 Flutter 的过程中也看到一些江湖侠客们对于 Flutter 的议论。他们大多觉得 Flutter 不够友好、括号太多了,导致看起来代码非常复杂,对此呲之以鼻并以唱衰之。
作为系列文章的第十八篇,本篇将通过 ScrollPhysics 和 Simulation ,带你深入走进 Flutter 的滑动新世界,为你打开 Flutter 滑动操作的另一扇窗。
在Flutter中和Widgets一起协同工作的还有另外两个伙伴:Elements和RenderObjects;由于它们都是有着树形结构,所以经常会称它们为三棵树。
本篇主要帮助剖析理解 Flutter 里的列表和滑动的组成,用比较通俗易懂的方式,从常见的 ListView到 NestedScrollView 的内部实现,帮助你更好理解和运用 Flutter 里的滑动列表。
Flutter的ListView组件,虽然很好用,但是数据量大的时候,在低配置的机器上会奇卡无比,所以我封装了一个ListView组件,对数据进行截断,并使用 keframe 插件进行流畅性优化,提升低配置设备的用户体验。
Flutter对于客户端工程师来说,相信大家已经不陌生了,我最近在学习中汇总了一些总结经验,其中大部分内容为我个人见解,希望能给予你们帮助。在此,我想通过抛砖引玉,来吸引更多的人贡献学习心得。
参考:https://pub.flutter-io.cn/packages/flutter_html
前段时间需要一个旋转木马效果用于展示图片,于是第一时间在github上找了一圈,找了一个还不错的控件,但是使用起来有点麻烦,始终觉得很不爽,所以寻思着自己做一个轮子。想起旋转画廊的效果不是和横向滚动列表非常相似吗?那么是否可以利用RecycleView实现呢?
在实现之前,我们还是先来理清一下思路,首先能肯定的是我们是要使用二阶贝塞尔曲线来实现「抛物线效果」。
以下代码基本参考于 flutter_gallery中的pesto_demo示例。(可以结合本文看源码)
你如何修改你的应用程序,使其对用户输入做出反应? 在本教程中,您将为仅包含非交互式小部件的应用添加交互性。 具体来说,您将通过创建一个管理两个无状态小部件的自定义状态小部件来修改图标以使其可以点击。
在移动端应用中,为用户提供一个直观的方式来更新内容是很重要的。在丰富的挂件中,Flutter 提供了一个很好的方式实现下拉来刷新应用。这个手势,对很多用户来说很熟悉,就是下拉页面来触发更新的动作,获取新的数据并更新屏幕展示。
简单列举总结一下常用的布局widget。 Flutter有丰富的layout组件库。其中有一些是常用库。 下面的widget分为两类:标准组件和来自Material Components的特殊组件。 只有Material App能够使用Material Components的组件。
在Android中,使用LinearLayout来使你的控件呈水平或垂直排列。在Flutter中,你可以使用Row或Column widget来实现相同的结果:
核心思路是把 Flutter 的渲染逻辑中的三棵树中的第一棵,放到 JavaScript 中生成。用 JavaScript 完整实现了 Flutter 控件层封装,可以使用 JavaScript,用极其类似 Dart 的开发方式,开发Flutter应用,利用JavaScript版的轻量级Flutter Runtime,生成UI描述,传递给Dart层的UI引擎,UI引擎把UI描述生产真正的 Flutter 控件。所以在iOS上是完全动态化的 ,完整代码在github,如果能帮助到大家,请给MXFlutter点个Star,给我们动力继续更新下去^_*,github TGIF-iMatrix MXFlutter
只需要修改一份配置表就可以调整 App 的全局样式,包括组件颜色、导航栏、对话框、列表等。一处修改,全局生效。
作者简介 本文为联合撰稿,作者为携程火车票Flutter团队,关注Flutter开发的效率、质量和新技术,致力于提升Flutter业务流畅度。 一、背景 携程火车票在十余个核心业务的列表页及主流程大规模进行了Flutter实践。经过一年多的开发、维护 ,总结了一套行之有效的性能优化方案。本文主要介绍结合性能分析工具,来识别、区分、定位一些性能问题,并且能够找到具体的方法和代码位置,帮助更快地解决问题。此外,也会分享我们做的一些性能优化案例和体验上的优化,希望能够给你带来一些启发。 二、渲染优化 Flutt
现如今打开一个 App,比如头条、微博,都会有长列表,随着我们不断地滑动,视窗内的内容也会不断地更新。今天就用 Flutter 实现一下这种效果。
在经过了近两个月的版本迭代后,Flutter 官方在昨天发布了Flutter 2.5版本。根据官方的介绍,这是一个大版本更新,一共关闭了 4600 个问题,从 252 个贡献者和 216 个审阅者合并了 3932 个 PR。
领取专属 10元无门槛券
手把手带您无忧上云