用途
本技能围绕 Syncfusion Flutter 的三个滑块类组件,帮助开发者在 Flutter 应用中实现数值选择与范围交互。三个组件共享大量视觉与配置特性,但职责与集成方式各不相同。
主要能力
- SfSlider:单值选择控件,适用于音量、进度百分比、时间轴拖拽等只需选取单个数值或日期的紧凑界面。
- SfRangeSlider:双手柄范围选择控件,用于选择数值/日期区间,支持 onThumb、betweenThumbs、both 等拖拽模式,可区分活动与非活动轨道区域。
- SfRangeSelector:带子组件(通常为图表)的范围选择控件,支持 RangeController 进行程序化更新与图表集成,并提供延迟更新(enableDeferredUpdate)以优化性能。
配置与定制
- 数值配置:支持 double 与 DateTime 值类型,可设置 min、max、interval、stepSize、dateIntervalType,并使用 NumberFormat、DateFormat 格式化。
- 视觉定制:活动/非活动轨道颜色、轨道高度与形状、刻度(主/次刻度与分隔线)、标签显示与定位、滑块手柄大小与自定义图标、overlay 波纹、tooltip 形状(矩形、桨形)与文本格式化。
- 高级特性:拖拽模式选择、RangeController 生命周期管理(创建与销毁)、程序化范围更新、监听范围变化、控制器与 initialValues 的差异、图表联动与同步选择器。
- 事件处理:onChanged(连续更新)、onChangeStart(交互开始)、onChangeEnd(交互结束)完整生命周期,以及校验约束、异步与防抖模式。
- 无障碍与状态:语义标签、启用/禁用状态、键盘导航、读屏支持(VoiceOver、TalkBack)、RTL 语言支持、WCAG 合规、颜色对比与触控目标尺寸。
使用方式
按需求选择组件:单值用 SfSlider;区间选择用 SfRangeSlider;需要驱动图表或包含子内容则用 SfRangeSelector。SfSlider 与 SfRangeSlider 通常由父级状态通过 value/values 与 onChanged 控制;SfRangeSelector 可通过 RangeController 进行程序化控制。组件以 Flutter Widget 形式添加到界面中,通过属性配置数值范围、间隔、显示项与回调。
适用场景
音量或亮度控制、日期范围筛选、图表缩放/区段选择、分析看板的时间范围选择器、商品列表的双端价格区间筛选等。
限制
资料未提供具体版本兼容性、平台支持范围、性能基准或收费授权信息,这些内容暂未提供。