首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flutter 组件集录 | 桌面导航 NavigationRail

bool 参数,用于控制是否展开侧边栏,当该属性变化时,会进行动画展开收起。...indicatorColor :默认 256 ,展开时导航栏宽度 NavigationRail 组件属性介绍就到这里,总的来看,悬浮点击时,导航栏还是一股 Material 味。...这里 ClipRect 组件套很迷,我试了一下去除后并不影响动画效果,一开始不知道为什么要加。之后将动画时长拉长,进行了一些测试发现端倪,如果不进行裁剪,就会出现如下不和谐情况。...默认动画 200 ms 看不出太大差异。从这里我又学到了一个小技巧:如何动画展开一个区域。 所以说源码是最好老师,通过分析源码实现去思考学习,是成长一条很好途径。...而不是什么东西都靠别人给你灌输,遇到不会或犹豫不决时就到处问。Flutter 组件源码相对独立,套路也比较简单,很适合去研究学习。

3K20
您找到你想要的搜索结果了吗?
是的
没有找到

【Flutter 组件集录】FadeInImage| 8月更文挑战

FadeInImage 作用就是:在目标图片加载完成前使用默认图片占位,加载完成后,目标图片会渐变淡入,默认图片会渐变淡出,这样可以既解决图片加载占位问题,渐变动画在视觉上也不显突兀。...另外还有很多用于配置图片动画属性,后面再一一介绍。...淡出动画 fadeOut 是针对占位图 而言,淡入动画 fadeIn 是针对目标图 而言,我们可以配置两个动画时长曲线来达到期望动画效果,如下是测试案例效果: 属性名 类型 默认值 用途...fadeOutDuration Duration 300 ms 占位图淡出时长 fadeOutCurve Curves Curves.easeOut 占位图淡出动画曲线 fadeInDuration...Duration 700 ms 目标图淡入时长 fadeInCurve Curves Curves.easeIn 目标图淡入动画曲线 FadeInImage( width: 100, height

1.3K20

【Flutter 专题】108 图解 PageView 滑动页面预览小尝试

PageView 滑动页面预览应用在很多场景中,和尚之前只用过最基本用法,今天和尚尝试系统性学习一下 PageView 基本应用; PageView 一般用户少量需要滑动页面切换场景,但整体使用很灵活...,主要通过 PageController onPageChanged 控制滑动与数据监听,并且提供了两种命名构造方法,和尚逐个学习属性特性; 案例尝试 默认构造函数 1....PageView() 和尚首先使用默认构造函数生成一个基本 PageView; return Container( height: 240, child: PageView(children...6. physics physics 主要体现在首页尾页结束时动画动画效果,为 ScrollPhysics 类型,可以自定义也可以根据 Flutter 提供动画来处理;类似的有 ClampingScrollPhysics...7. controller controller 为 PageView 控制器,可以设置页面跳转或者初始化位置,以及滑动动画效果等; class PageController extends ScrollController

1.1K10

逐步拆解React组件—Swipe轮播图

以前有写过一篇简版swipe轮播组件,当时并没有考虑很多细节通用参数配置,主要还是在于记录实现思路,也就没有源码,赶在年前重新拾起来好好整理了一番,并封装成了组件,除react本身外无任何第三方依赖...左移同理 设计思路了解后,就开始对组件API方法设计,文档如下 API 参数 说明 类型 默认值 autoplay 可选,自动轮播间隔,单位ms number 3000 duration 可选,动画时长...布局,本身flexDirection可以进行横向竖向展示,以便于后期通过vertical属性进行横向纵向布局切换。...// 默认索引 vertical = false, // 是否纵向 duration = 500, // 切换动画时间 autoplay = 3000...count - 1) { loopDirection.current = -1; } }, [realCurrent]); // 设置移动容器位置是否有移动动画

3.3K10

使用animation添加动画效果

动画效果:实现多个状态间变化过程,动画过程可控(重复播放、最终画面、是否暂停) 动画本质是快速切换大量图片时在人脑中形成具有连续性画面,构成动画最小单元是帧或动画帧。...100% { width: 800px; height: 500px; } } 百分比指的是动画时长占比...速度曲线 延迟时间 重复次数 动画方向 执行完毕时状态; 速度曲线指的是动画变化过程中速度,延迟时间可以让动画等一会再执行。...设置这些属性需要注意: 动画名称动画时长必须赋值 各个属性取值不分先后顺序 如果有俩个时间值,第一个表示动画时长,第二个表示延迟时间。 在测试执行完毕状态时建议把重复次数动画方向去掉。...动画无限循环 animation: change 1s infinite alternate; 默认值, 动画执行完成后停留在最初状态 animation: change 1s backwards;

68420

【Flutter 专题】71 图解基本隐式动画 Widget

) 分析源码可知,AnimatedCrossFade 可以在指定时间内从一个 Widget 到另一个 Widget 平滑过渡或反向过渡;其中切换状态时长是必要属性; 案例尝试 和尚尝试一个基本动画过程...layoutBuilder 为布局构造器,这个是和尚认为最值得研究地方,构造器并不陌生,但在这里作用却比较特殊,通过 Stack 将两个 Widget 层级叠放,底部 Widget 默认尺寸位置以上层...Widget 为基准,默认 Position 边距均为 0.0;我们可以自定义调整动画起始位置; // 默认 static Widget defaultLayoutBuilder(Widget topChild.../ 反向切换动画时长 this.switchInCurve = Curves.linear, // 切换显示时动画曲线 this.switchOutCurve = Curves.linear...会执行展现动画; 案例尝试 和尚尝试切换两个基本方块,但刚开始切换动画时长反向切换动画时长没有效果,两个 Widget 只有参数更新,动画效果未执行;和尚尝试加入 Key 区分之后正常; return

77431

Flutter | 动画

Curve 生成一个新动画对象,我们正式通过这种方式来讲动画动画执行曲线关联起来; 我们指定动画曲线为 Curves.easeIn,表示由慢到快,Curves 类是一个预置枚举类,定义了很多常用曲线...,它包含 forward(启动),stop(停止),reverse(反向) 等方法,AnimationController 会在动画每一帧生成一个新值,默认情况下给定默认区间是 0.0 到 1.0...然后根据当前动画值去构建 UI ,当所有动画帧依次触发时,动画值就会改变,对应 UI 就会发生变化,最终就可以看到完整动画; duration 表示动画执行时长,通过它可以控制动画速度。...this.reverseDuration,// 旧child隐藏动画时长 this.switchInCurve = Curves.linear, // 新child显示动画曲线 this.switchOutCurve...我们指定,为了方便使用者可以自定义动画时长曲线等,这些通常都是使用者自己提供。但是如此一来,使用者就必须手动管理 AnimationController,这样会增加使用复杂性。

1.6K10

【Flutter&Flame游戏 - 拾玖】构件特效 | 了解 EffectController 体系

image.png ---- 如下是 EffectController 类定义,首先它是一个抽象类,其中维护了一些动画相关 get 属性,包括动画时长 duration 、进度 progress 、...这些控制器本质上 Flutter 原生 AnimationController 是类似的,都是对数值进行变换处理,从而让动画变化效果。...比如 DelayedEffectController 可以让动画延时播放、InfiniteEffectController 可以让动画无限时长、RepeatedEffectController 可以让动画重复播放...progress 属性是 运行时长 除以 总时长 ,也就是说该进度值变化是线性。...反向控制器:ReverseLinearEffectController、ReverseCurvedEffectController 这两个看着名字老长,本质上就是进度值被 1 减下而已,也就是说,默认一开始是

43410

Flutter Widgets 之 AnimatedContainer

老 孟 一个 有态度 程序员 ? ?...Flutter中很多用于动画控件,这篇文章介绍动画控件AnimatedContainer,我们可以通俗理解AnimatedContainer是带动画功能Container,关于Container详细介绍可以查看...AnimatedContainer只需要提供动画开始值结束值,它就会动起来并不需要我们主动调用setState方法。...变化AnimatedContainer宽高实现变大效果,代码如下: bool click = false; @override Widget build(BuildContext context...AnimatedContainer有2个必须参数,一个时长duration,动画执行时长,另一个是动画曲线curve,默认是线性,系统为我们提供了很多动画曲线(加速、减速等),设置动画曲线代码如下:

79220

Flutter开发实战分析-animation_demo瞎复写总结

简单分析一下 上下滚动,并且自定义动画效果。嗯。上一遍文章CustomScrollView 左右滚动,切换页面。嗯。PageViewPageView可以让像是一页一页滑动。...按照这个思路,我们希望每一个Page都是能实现这个样动画效果,所以我们自己定义CustomMultiChildLayout作为PageViewchild。...这个属性会悬浮我们AppBar在顶部。但是如果默认情况下,这时appBar高度就是有56逻辑像素这样。所以,我们需要添加一个bottom,让它,增加到我们想要最后高度。...target-20180814215213.gif 这样,我们就做成很接近最后效果动画了。要实现最后动画,只要用相同办法去创建titleindicator就行了。...自定义动画过程 自定义动画过程,在Flutter中其实相对简单。提供了很多帮助计算方式。需要做是确定要初始值,最终值,中间过度变量可以考虑使用lerp就可以完成。

2.5K30

Flutter 封装一个 Banner 轮播图

= null); •_images:首先,图片链接必须有,并且在后面也做了一个断言验证•height:其次,高度可以让用户自己定义,默认为200•onTap:用户点击回调,是一个 ValueChanged...,回调一个 index•curve:图片在切换时候效果,默认为 Curves.linear 这样初期准备工作已经做完,下面就开始做展示图片功能。..._curIndex++:index +12.使用 controller animateToPage 方法,该方法是有动画效果跳转 animateToPage 有三个参数: 1.跳转页面2.跳转到该页面动画持续时间...(也就是多长时间能翻到该页)3.动画效果 定义好后,我们来看一下效果: ?...然后在手指离开时候恢复任务。 但是!这里有很大坑! 1.Timer 没有暂停方法2.因为用PageView,有滑动冲突, 所以监听不到手指离开方法 这里只能采用曲线救国方法: 1.

3K50

【Flutter 组件集录】CircleAvatar | 8 月更文挑战

一、认识 CircleAvatar 组件 首先看一下CircleAvatar 是什么意思,可能很多人会把它当成一个圆形图片裁剪组件。其实源码中有介绍:它是代表用户一个圆。...拿下面的有道词典来说,CircleAvatar 就是用户头像。另外他可以设置颜色子组件,这样当头像不存在时,一般以颜色用户名首字母显示。...这样有一个兜底显示,而非空白,或报错,否则对用户而言会产生困惑。 4. CircleAvatar 动画性 可能很多人都不知道,CircleAvatar 是具有动画。...比如下面,将 radius 从 25 改为 40 后重构组件,头像是半径动画渐变达到新值。CircleAvatar 动画性比较弱,属于默认动画,用户无法指定时长动画曲线动画参数。...子组件会居中,并且嵌套 IconTheme DefaultTextStyle 处理文字图标默认颜色。默认动画时长为 kThemeChangeDuration,为200ms 。

1.6K30

【 开源计划 - Flutter组件】 旋转切换 toggle_rotate

最简使用 时长曲线、方向 可含一切组件 旋转角度 1.所有属性: 名称 类型 功能 备注 默认 rad double 旋转角度 弧度制 pi / 2 durationMs int 动画时长...: Icon(Icons.arrow_upward,size: 60,color: Colors.orangeAccent), onTap: () {}, //点击事件 ), ---- 3.指定时长曲线方向...,顺便抽离成一个组件分享一下 这个小组件是一个动画经典案例,所以分析一下具体实现还是很有意义 ---- 1.自定义组件 开始分析一下是否有状态。...很明显,我们需要在点击时让组件旋转 组件有是否旋转是一个状态量,旋转过程中角度也是状态量 可以说想要实现动画,基本上是基于StatefulWidget,先写出一个基本组件 由于需要动画,要with...动画器AnimationController负责让数字在0.0~1.0之间均匀变化 通过CurvedAnimation来让数字变化率为曲线 核心就是确定每次更新状态时弧度大小。

84830

「首席架构师推荐」最棒Flutter库,工具,教程,文章列表

SZAŁKO-BLOG - Marcin Szalek逐步高级设计。 Flutter by Example - 基于Redux,Firebase,自定义动画UI教程。...FilledStacks - Dane Mackier开发教程指南。 教程 动画聊天 - 由Google Code Labs构建精美的用户界面。...Todo List - 一步一步教程如何使用Flutter构建Todo List by Andrei Lesnitsky 初学者 零到一动画- 专注于Mikkel Ravn动画。...Flutter中动画 - MuhammedSalihGüler常用动画实例。 布局备忘单 - TomekPolański布局小部件大量示例。...具有时间轴分析 - 使用时间轴可以查找和解决Chinmay Garde在您应用程序中特定性能问题。 HOWTO文档 视差效果 - Marcin Szalek视差非线性动画

10.7K10

2019年了,你还不会CSS动画

动图效果不是太明显,方块在旋转时,不是匀速。因为此时刻画动画速度属性 animation-timing-function 默认值是 ease,即先快后慢。...这些值其实都是 cubic-bezier(n,n,n,n) 特例。它们被称为贝塞尔曲线。除了开发者工具外,《CSS揭秘》作者也写了一个在线调试贝塞尔曲线网站:cubic-bezier.com。...贝塞尔曲线这个知识点很有用,canvas 里也有相应 API。可以展开点其实比较多,这里只是初步介绍。 需要提一下,计时函数属性另外一个好玩值是 steps 函数,可以用来实现逐帧动画: ?...回到关键帧,我们除了指定开头结束位置关键帧(如果不指定 0% 100%,浏览器会自动推断),当然也可以指定任意百分比是什么情况,比如开篇例子另一种实现: div{ width: 40px...它是属性 animation-fill-mode 一个值。这个属性容易被忽略,然而却是 CSS 动画比较重要一个属性。直译为动画填充模式,具体说是什么事情呢?

41830

Flutter 可以缩放拖拽图片

展示图片 false 实现过程 这一个功能比较简单,参考了官方gestures demo,将缩放ScaleOffset转换了为了图片最后显示区域,具体代码在最后绘制图片时候,将gestureDetails...Scale回弹动画将以最后缩放中心点为中心进行缩放,这样缩放动画才看起来舒服一些 //true: user zoom/pan //false: animation final bool...参数 描述 默认值 inPageView 是否使用ExtendedImageGesturePageView展示图片 false 实现过程 手势冲突 这个场景需要关注是手势冲突问题,PageView...如果到达边界就是用默认代码去操作PageView,否则就控制Image进行拖拽操作 void _handleDragUpdate(DragUpdateDetails details) { //...end(temp); assert(_drag == null); } 整个extended_image缩放拖拽功能就介绍完毕了,再吐槽下这个手势,用起来真不舒服,希望Flutter小组有更好方案

4.8K00
领券