yuni_file_list_view 0.2.4
yuni_file_list_view: ^0.2.4 copied to clipboard
A Flutter package providing flexible file list view components: grid, list, and grouped grid layouts with Sliver support.
0.0.9 #
- ✨ YRulerScrollbar — 新增滑块可见性与隐藏延迟配置:
thumbVisibility: 支持设置滑块是否始终显示,默认为false(标准滚动触发显示)。timeToFade: 支持配置滚动停止后,滑块开始执行隐藏动画前的延迟等待时间,默认600ms。fadeInDuration: 支持配置滑块淡入动画的持续时间,默认100ms(快速进入)。fadeOutDuration: 支持配置滑块淡出动画的持续时间,默认300ms(平滑消失)。
- 🎮 YRulerScrollbar — 新增
onHintChanged回调:在拖拽过程中,当最近的刻度节点(Hint 内容)发生切换时触发。业务方可在此回调中接入触感反馈(如HapticFeedback.lightImpact()),提升滑动交互体验。 - 🛠 优化示例 DEMO:在
ScrollbarDemoPage和PhotoGalleryDemoPage中集成了触感反馈演示。
0.0.8 #
- 🎯 YRulerScrollbar — 新增
scrollbarMarginTop/scrollbarMarginBottom:支持设定轨道的上下边距,常用于避开SliverAppBar等顶部悬浮元素,让滚动条视觉区域更精准。左侧浮动 Hint 面板同步跟随偏移,不再出现上下错位。 - 🐛 修复 YRulerScrollbar 拖拽时 Thumb 上下跳动问题:在
_onDragStart时快照_dragMaxScrollExtent,拖拽期间_dyToOffset始终使用该冻结值计算目标位置,彻底打断因SliverGrid懒加载布局造成的maxScrollExtent振荡 →jumpTo振荡的正反馈闭环。 - 🏗 YRulerScrollbar 改用
NotificationListener接收滚动数据:与 Flutter 官方RawScrollbar保持完全相同的数据获取方式,利用ScrollMetrics一致性快照(pixels / maxScrollExtent / viewportDimension同帧写入),消除controller.addListener事后读取导致三值不一致的潜在抖动。 - ✨ YRulerScrollbar 新增
nodeLabelBuilder:可完全自定义每个刻度节点的标签 Widget,替代内部 Canvas 默认文本绘制。 - 🔧 移除已无意义的
bottomHintBuilder:重新设计底部提示区域为通用 Hint 系统,保持 API 简洁。
0.0.1 #
- 🚀 Initial Release:
yuni_file_list_viewis an ultra-high performance Flutter UI package for flexible file and photo gallery layouts. - ✨ Three Core Modes: Provides
YFileGridView,YFileListView, andYFileGroupedListViewas well as theirSliverequivalents. - ⚡️ Ultimate 1D Flattening Matrix: A revolutionary implementation of Grouped Grid combining millions of items without freezing the engine nor introducing
SliverGridallocations per group. Fully preserves Lazy-Loading. - 📦 Unopinionated Builders: Pure configuration (paddings, spacings, crossAxisCount) without dictating UI constraints (colors, cards). Every shape is completely passed through required
Builders. - ✋ Drag-Select Non-intrusive Layer: Added
YDragSelectRegionandYDragSelectElementto bring zero-cost "Drag to Multi-Select & Auto-Scroll" interaction to any list, out-of-the-box.