随笔分类 -  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 阅读(135) 评论(0) 推荐(0) 编辑

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

posted @ 2023-09-03 02:44 Lemo_wd 阅读(276) 评论(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 阅读(497) 评论(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 阅读(313) 评论(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 阅读(726) 评论(0) 推荐(0) 编辑

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

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

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

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

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

posted @ 2023-01-10 18:09 Lemo_wd 阅读(303) 评论(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 阅读(615) 评论(0) 推荐(0) 编辑

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

posted @ 2022-11-17 16:48 Lemo_wd 阅读(444) 评论(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 阅读(510) 评论(0) 推荐(0) 编辑

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

posted @ 2022-09-21 00:38 Lemo_wd 阅读(601) 评论(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 阅读(574) 评论(0) 推荐(0) 编辑

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

posted @ 2022-09-18 21:59 Lemo_wd 阅读(1140) 评论(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 阅读(1020) 评论(0) 推荐(0) 编辑

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

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

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

posted @ 2022-08-19 18:08 Lemo_wd 阅读(1221) 评论(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 阅读(349) 评论(0) 推荐(0) 编辑

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

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

1 2 下一页
< 2025年2月 >
26 27 28 29 30 31 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 1
2 3 4 5 6 7 8

导航

统计

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