上一页 1 2 3 4 5 6 7 8 9 ··· 30 下一页

2022年8月17日

flutter 杂项 —— Stateful 与 Stateless 的更新

摘要: 一、使用 StatefulBuilder 单独更新某个组件的状态 示例: await showDialog<void>( context: context, builder: (BuildContext context) { int? selectedRadio = 0; return AlertD 阅读全文

posted @ 2022-08-17 21:54 Lemo_wd 阅读(350) 评论(0) 推荐(0) 编辑

2022年8月16日

flutter —— 布局原理与约束 (Sliver 布局)

摘要: 布局模型 RenderBox 布局,移步 flutter —— 布局原理与约束 Sliver 的布局流程如下: Viewport 将当前布局和配置信息通过 SliverConstraints 传递给 Sliver。 Sliver 确定自身的位置、绘制等信息,保存在 geometry 中(一个 Sli 阅读全文

posted @ 2022-08-16 21:38 Lemo_wd 阅读(1329) 评论(0) 推荐(1) 编辑

flutter 技术选型 —— 视频播放器插件

摘要: chewie 依赖:video_player + chewie 缺点:ui 简陋 class VideoPlayerScreen extends StatefulWidget { const VideoPlayerScreen({Key? key}) : super(key: key); @over 阅读全文

posted @ 2022-08-16 21:17 Lemo_wd 阅读(1451) 评论(0) 推荐(0) 编辑

flutter 基础 —— 缓存页面与滚动位置等信息

摘要: 一、缓存页面 比如 Tab 切换,旧的 Tab 可能被销毁,我们需要做缓存。 解决方法:如果是 PageView 可以更改 allowImplicitScrolling 值为 true,会缓存前后各一页。 其它组件,可以实现 AutomaticKeepAliveClientMixin 接口。 注:T 阅读全文

posted @ 2022-08-16 14:55 Lemo_wd 阅读(754) 评论(0) 推荐(0) 编辑

2022年8月15日

flutter 效果实现 —— NestedScrollView 嵌套滚动(多固定头)

摘要: 效果 有点类似 flexibleSpace,但是 flexibleSpace 的 expandedHeight 得预留计算出来。这里的头图的大小可以自适应,不用显式设置 expandedHeight。 注:最新版本可以使用 SliverMainAxisGroup 实现相关需求(存疑?) 代码 注:请 阅读全文

posted @ 2022-08-15 22:39 Lemo_wd 阅读(4380) 评论(0) 推荐(0) 编辑

2022年8月14日

flutter 常见组件的特殊用法 —— SliverAppBar

摘要: SliverAppBar 的滚动布局 特殊属性说明 primary: true 不同于 AppBar 通常有 Scaffold 包裹,其最大高度由父类约束。SliverAppBar 完全由自身决定。 当 primary 等于 true 时,其 topPadding 等于状态栏高度;若为 false, 阅读全文

posted @ 2022-08-14 13:56 Lemo_wd 阅读(4027) 评论(0) 推荐(0) 编辑

2022年8月13日

flutter 常见组件的特殊用法 —— AppBar

摘要: AppBar 的高度与 PreferredSizeWidget 通常可以观察到 Scaffold.appBar 与 AppBar.bottom 属性,要求其值必须是 PreferredSizeWidget(典型的是 AppBar 与 TabBar 组件)。 abstract class Prefer 阅读全文

posted @ 2022-08-13 03:38 Lemo_wd 阅读(1206) 评论(0) 推荐(0) 编辑

flutter 效果实现 —— 无AppBar下列表滚动时状态栏透明度变化

摘要: 效果 此效果参考自 twitter 与 gmail 实现原理 通过 Stack 组件,在最上层页面的状态栏位置用一个白色的容器占位,在列表滚动时,根据监听到的滚动位置动态调整其透明度。 PS:也可以借助 AppBar 实现,只要设置 Scaffold.extendBodyBehindAppBar 等 阅读全文

posted @ 2022-08-13 02:28 Lemo_wd 阅读(357) 评论(0) 推荐(0) 编辑

2022年8月11日

flutter 常见组件的特殊用法 —— Scaffold

摘要: scaffold 中 body 的 初始位置 通常 body 内容的初始滚动位置位于状态栏或导航栏之下。但某些情况下需要调整初始位置: 具体分以下几个情况讨论: 1、对于非 ListView 组件 ① 在AppBar 不存在时,亦即状态栏未被 AppBar 占用: body 会占满状态栏,跟 ② 中 阅读全文

posted @ 2022-08-11 21:26 Lemo_wd 阅读(2013) 评论(0) 推荐(0) 编辑

2022年7月27日

flutter —— 布局原理与约束

摘要: 一、布局模型 主要有两种布局模型: ① 基于 RenderBox 的盒模型布局。 ② 基于 Sliver ( RenderSliver ) 按需加载列表布局。(Sliver 布局请看) 两种布局方式在细节上略有差异,但大体流程相同,布局流程如下: 上层组件向下层组件传递约束(constraints) 阅读全文

posted @ 2022-07-27 11:22 Lemo_wd 阅读(675) 评论(0) 推荐(1) 编辑

上一页 1 2 3 4 5 6 7 8 9 ··· 30 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示