Refresher
Refresher
组件在 webforJ 中启用在可滚动容器内进行下拉刷新交互,非常适合在移动或触控友好的界面中动态加载数据。当用户向下滑动超过可配置的阈值时,刷新组件通过视觉状态进行过渡:pull
、release
和 refreshing
。每个状态呈现一个可自定义的图标和本地化的文本,以清晰地传达反馈。
您可以将 Refresher
与像 InfiniteScroll
的组件一起使用,以通过简单的手势输入重新加载内容或重置状态。该组件在交互行为、外观、本地化以及与您其余 UI 的集成方面完全可配置。
实例化和国际化
通过实例化并注册一个刷新监听器来添加 Refresher
。当刷新操作完成时,调用 finish()
将组件重置为其空闲状态。
如何激活
Refresher
要激活 Refresher
,从可滚动区域的顶部点击并向下拖动。虽然这种手势在移动设备上很常见,但在桌面上不太常见——请确保用鼠标保持并拉动。
显示代码
- Java
- CSS
这种方法通常用于刷新分页列表或重新启动无限滚动加载。
国际化
每个状态标签也可以使用 RefresherI18n
对象进行本地化。三个状态为:
- Pull:初始手势文本(例如,“下拉以刷新”)
- Release:触发阈值已达到(例如,“松开以刷新”)
- Refresh:加载状态(例如,“正在刷新”)
这允许根据需要进行多语言支持和品牌调整。
显示代码
- Java
- CSS
图标自定义
您可以使用预定义的 Icons
或图标 URL (Icon URL) 更改用于 pull
/release
和 refreshing
阶段的图标。这在您希望应用品牌或自定义动画时非常有用。
显示代码
- Java
- CSS
下拉行为配置
阈值
设置用户必须向下拉动的距离(以像素为单位),以触发刷新:
refresher.setThreshold(80); // 默认:80px
阈值最大值
要定义允许的最大拉动距离,请使用 setThresholdMax()
方法:
refresher.setThresholdMax(160);
这些阈值控制手势的灵敏度和阻力曲线。