随笔分类 -  flutter

1 2 下一页

flutter 的滚动控制 —— 滚动类组件的内部与整体滚动
摘要:效果: 代码: class DetailScreen extends StatefulWidget { const DetailScreen({super.key}); @override State<DetailScreen> createState() => _DetailScreenState 阅读全文

posted @ 2024-04-08 13:52 Lemo_wd 阅读(187) 评论(0) 推荐(0)

flutter —— 深入理解 StatelessWidget 与 StatefulWidget 的 build 构建
摘要:前提知识: setState 执行的是 Element 的 markNeedsBuild,将当前 element 加入标记列表。那么,标记完了,什么时候执行 element 的 rebuild呢?当渲染管线流程 WidgetsBinding.drawFrame 执行时,依次执行 buildScope 阅读全文

posted @ 2023-09-03 02:44 Lemo_wd 阅读(331) 评论(0) 推荐(0)

flutter 效果实现 —— 自定义 Loading
摘要:效果: ![](https://img2023.cnblogs.com/blog/1062332/202305/1062332-20230524135139892-1959926429.gif) 代码: ```dart class ColorLoader extends StatefulWidget 阅读全文

posted @ 2023-05-24 13:50 Lemo_wd 阅读(561) 评论(0) 推荐(0)

flutter —— 深入理解 RenderObject 布局与绘制
摘要:参考文章:[RenderObject 的布局与绘制](https://github.com/flutterchina/flutter_in_action_2nd/blob/main/src/chapter14/render_object.md) ### 1. relayoutBoundary 重布局 阅读全文

posted @ 2023-02-03 14:14 Lemo_wd 阅读(401) 评论(0) 推荐(0)

flutter 效果实现 —— 构建镂空区域
摘要:效果: 代码: class HomePage extends StatelessWidget { const HomePage({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return S 阅读全文

posted @ 2023-01-18 16:49 Lemo_wd 阅读(823) 评论(0) 推荐(0)

flutter 效果实现 —— 下拉滑动面板
摘要:效果: 注:如果是类似于 BottomSheet,效果为:由底部往上拖动展开,由上往下拖动收缩。那么,可直接使用 showBottomSheet,并且如果子组件是是滚动组件的话,可使用 DraggableScrollableSheet(snap 属性设为 true)。 代码: class HomeP 阅读全文

posted @ 2023-01-11 21:21 Lemo_wd 阅读(756) 评论(0) 推荐(0)

flutter 效果实现 —— 全面屏效果
摘要:改变状态栏的主题颜色 1、在有 AppBar 的情况下,可以借助 AppBar 去设置,比如 return Scaffold( appBar: AppBar( systemOverlayStyle: SystemUiOverlayStyle.dark, ), body: ... 或者在主题中全局设置 阅读全文

posted @ 2023-01-10 20:50 Lemo_wd 阅读(2881) 评论(0) 推荐(0)

flutter 基础 —— 事件监听
摘要:事件机制: 命中测试的过程是从上层组件到下层组件,但是加入 HitTestResult 的顺序是从下到上,分发事件的顺序同加入顺序。 通常,若用户点击坐标不在当前节点的 size 范围内,则 hitTest 直接返回 false。 命中测试过程中,① 兄弟节点的加入顺序是倒序的,这个可以结合 Sta 阅读全文

posted @ 2023-01-10 18:09 Lemo_wd 阅读(327) 评论(0) 推荐(0)

flutter 效果实现 —— 日历选择器
摘要:效果: 代码:(已更正,周日是第一天,周六为最后一天) class _HomePageState extends State<HomePage> { DateTime startDate = DateTime.now(); DateTime endDate = DateTime.now().add( 阅读全文

posted @ 2023-01-10 10:25 Lemo_wd 阅读(708) 评论(0) 推荐(0)

flutter 性能分析图表的查看
摘要:1. Flutter 的线程 平台线程 即主线程,plugin 代码运行在此线程。具体请参阅 Android 的 MainThread 以及 iOS 的 UIKit 文档。 UI 线程 UI 线程在 Dart VM 中执行 Dart 代码。当应用创建和展示场景的时候,UI 线程首先建立一个 图层树( 阅读全文

posted @ 2022-11-17 16:48 Lemo_wd 阅读(501) 评论(0) 推荐(0)

flutter 效果实现 —— 组件自由移动与大小调整
摘要:示例: class DynamicBoxPage extends StatelessWidget { const DynamicBoxPage({Key? key}) : super(key: key); @override Widget build(BuildContext context) { 阅读全文

posted @ 2022-09-29 09:29 Lemo_wd 阅读(562) 评论(0) 推荐(0)

flutter 效果实现 —— 键盘快捷键绑定
摘要:对于快捷键绑定回调大致有三种方式,第一种是使用 CallbackShortcuts;第二种是使用 Focus 的 onKey 回调,参考前一篇文章中的 Key Events 的示例1;第三种就是下面所介绍的。 效果: 代码: class ShortcutPage extends StatefulWi 阅读全文

posted @ 2022-09-21 00:38 Lemo_wd 阅读(636) 评论(0) 推荐(0)

flutter 基础 —— Focus 组件的使用
摘要:Focus 组件 class HomePage extends StatefulWidget { const HomePage({Key? key}) : super(key: key); @override State<HomePage> createState() => _HomePageSta 阅读全文

posted @ 2022-09-20 11:25 Lemo_wd 阅读(626) 评论(0) 推荐(0)

flutter 效果实现 —— 去除水波纹效果
摘要:修改主题 theme: ThemeData( splashColor: Colors.transparent, highlightColor: Colors.transparent, splashFactory: NoSplash.splashFactory, ), 或者修改单个 ElevatedB 阅读全文

posted @ 2022-09-18 21:59 Lemo_wd 阅读(1256) 评论(0) 推荐(0)

flutter 效果实现 —— 可拖拽 GridView
摘要:效果: 代码: class GridDragView extends StatefulWidget { const GridDragView({Key? key}) : super(key: key); @override State<GridDragView> createState() => _ 阅读全文

posted @ 2022-09-05 22:38 Lemo_wd 阅读(1073) 评论(0) 推荐(0)

flutter 效果实现 —— 全局点击空白处隐藏键盘
摘要:为什么要实现点击空白处隐藏键盘?因为这是 iOS 平台的默认行为,Android 平台由于其弹出的键盘右上角默认带有关闭键盘的按钮,所以点击空白处不会隐藏键盘。 单个页面,可以这样做: class DismissKeyboardPage extends StatelessWidget { final 阅读全文

posted @ 2022-08-21 14:10 Lemo_wd 阅读(661) 评论(0) 推荐(0)

flutter 效果实现 —— sliver 固定
摘要:效果: 说明:绿色块在向上滑动,距离顶部 103 的高度(即 AppBar 下面)时固定 注:示例4 有官方组件 PinnedHeaderSliver( flutter 3.4) 示例 1: 解决问题的关键是修正 paintOffset,以使最终的 offset 在 pinned 位置固定不变。缺点 阅读全文

posted @ 2022-08-19 18:08 Lemo_wd 阅读(1354) 评论(0) 推荐(0)

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 阅读(381) 评论(0) 推荐(0)

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

posted @ 2022-08-16 21:38 Lemo_wd 阅读(1444) 评论(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 阅读(1564) 评论(0) 推荐(0)

1 2 下一页

导航