fun UltraSwipeRefresh(state: UltraSwipeRefreshState, onRefresh: () -> Unit, onLoadMore: () -> Unit, modifier: Modifier = Modifier, headerScrollMode: NestedScrollMode = UltraSwipeRefreshTheme.config.headerScrollMode, footerScrollMode: NestedScrollMode = UltraSwipeRefreshTheme.config.footerScrollMode, refreshEnabled: Boolean = UltraSwipeRefreshTheme.config.refreshEnabled, loadMoreEnabled: Boolean = UltraSwipeRefreshTheme.config.loadMoreEnabled, @FloatRange(from = 0.0, fromInclusive = false) refreshTriggerRate: Float = UltraSwipeRefreshTheme.config.refreshTriggerRate, @FloatRange(from = 0.0, fromInclusive = false) loadMoreTriggerRate: Float = UltraSwipeRefreshTheme.config.loadMoreTriggerRate, headerSecondaryEnabled: Boolean = UltraSwipeRefreshTheme.config.headerSecondaryEnabled, footerSecondaryEnabled: Boolean = UltraSwipeRefreshTheme.config.footerSecondaryEnabled, headerSecondaryBehavior: SecondaryBehavior = UltraSwipeRefreshTheme.config.headerSecondaryBehavior, footerSecondaryBehavior: SecondaryBehavior = UltraSwipeRefreshTheme.config.footerSecondaryBehavior, headerSecondaryPreview: Boolean = UltraSwipeRefreshTheme.config.headerSecondaryPreview, footerSecondaryPreview: Boolean = UltraSwipeRefreshTheme.config.footerSecondaryPreview, @FloatRange(from = 1.0, fromInclusive = false) headerSecondaryTriggerRate: Float = UltraSwipeRefreshTheme.config.headerSecondaryTriggerRate, @FloatRange(from = 1.0, fromInclusive = false) footerSecondaryTriggerRate: Float = UltraSwipeRefreshTheme.config.footerSecondaryTriggerRate, @FloatRange(from = 1.0) headerMaxOffsetRate: Float = UltraSwipeRefreshTheme.config.headerMaxOffsetRate, @FloatRange(from = 1.0) footerMaxOffsetRate: Float = UltraSwipeRefreshTheme.config.footerMaxOffsetRate, @FloatRange(from = 0.0, to = 2.0, fromInclusive = false) dragMultiplier: Float = UltraSwipeRefreshTheme.config.dragMultiplier, @IntRange(from = 0, to = 2000) finishDelayMillis: Long = UltraSwipeRefreshTheme.config.finishDelayMillis, vibrationEnabled: Boolean = UltraSwipeRefreshTheme.config.vibrationEnabled, @IntRange(from = 1, to = 50) vibrationMillis: Long = UltraSwipeRefreshTheme.config.vibrationMillis, alwaysScrollable: Boolean = UltraSwipeRefreshTheme.config.alwaysScrollable, onCollapseScroll: suspend (Float) -> Unit? = null, headerIndicator: @Composable (UltraSwipeRefreshState) -> Unit = UltraSwipeRefreshTheme.config.headerIndicator, footerIndicator: @Composable (UltraSwipeRefreshState) -> Unit = UltraSwipeRefreshTheme.config.footerIndicator, headerSecondaryContent: @Composable (UltraSwipeRefreshState) -> Unit? = null, footerSecondaryContent: @Composable (UltraSwipeRefreshState) -> Unit? = null, contentContainer: @Composable (@Composable () -> Unit) -> Unit = UltraSwipeRefreshTheme.config.contentContainer, content: @Composable () -> Unit) UltraSwipeRefresh:一个可带来极致体验的 Compose 刷新组件,支持下拉刷新和上拉加载, 可完美替代官方的 SwipeRefresh,功能更丰富,扩展性更强。
Author
Jenly
Follow me
Parameters
修饰符,用于装饰或扩展 Compose UI 元素的行为;详细说明见 Modifier
headerSecondaryTriggerRate
footerSecondaryTriggerRate
完成状态的停留时长(毫秒),便于展示提示内容;默认值:500
是否启用振动反馈。启用后,滑动偏移量达到阈值时将触发振动;默认值:false
是否始终允许滚动。设为 true 时,不受刷新/加载状态限制,始终可滚动;默认值:false
可选回调,当 Header/Footer 收起时用于同步调整列表位置,消除视觉回弹
fun UltraSwipeRefresh(isRefreshing: Boolean, isLoading: Boolean, onRefresh: () -> Unit, onLoadMore: () -> Unit, modifier: Modifier = Modifier, headerScrollMode: NestedScrollMode = UltraSwipeRefreshTheme.config.headerScrollMode, footerScrollMode: NestedScrollMode = UltraSwipeRefreshTheme.config.footerScrollMode, refreshEnabled: Boolean = UltraSwipeRefreshTheme.config.refreshEnabled, loadMoreEnabled: Boolean = UltraSwipeRefreshTheme.config.loadMoreEnabled, @FloatRange(from = 0.0, fromInclusive = false) refreshTriggerRate: Float = UltraSwipeRefreshTheme.config.refreshTriggerRate, @FloatRange(from = 0.0, fromInclusive = false) loadMoreTriggerRate: Float = UltraSwipeRefreshTheme.config.loadMoreTriggerRate, headerSecondaryEnabled: Boolean = UltraSwipeRefreshTheme.config.headerSecondaryEnabled, footerSecondaryEnabled: Boolean = UltraSwipeRefreshTheme.config.footerSecondaryEnabled, headerSecondaryBehavior: SecondaryBehavior = UltraSwipeRefreshTheme.config.headerSecondaryBehavior, footerSecondaryBehavior: SecondaryBehavior = UltraSwipeRefreshTheme.config.footerSecondaryBehavior, headerSecondaryPreview: Boolean = UltraSwipeRefreshTheme.config.headerSecondaryPreview, footerSecondaryPreview: Boolean = UltraSwipeRefreshTheme.config.footerSecondaryPreview, @FloatRange(from = 1.0, fromInclusive = false) headerSecondaryTriggerRate: Float = UltraSwipeRefreshTheme.config.headerSecondaryTriggerRate, @FloatRange(from = 1.0, fromInclusive = false) footerSecondaryTriggerRate: Float = UltraSwipeRefreshTheme.config.footerSecondaryTriggerRate, @FloatRange(from = 1.0) headerMaxOffsetRate: Float = UltraSwipeRefreshTheme.config.headerMaxOffsetRate, @FloatRange(from = 1.0) footerMaxOffsetRate: Float = UltraSwipeRefreshTheme.config.footerMaxOffsetRate, @FloatRange(from = 0.0, to = 2.0, fromInclusive = false) dragMultiplier: Float = UltraSwipeRefreshTheme.config.dragMultiplier, @IntRange(from = 0, to = 2000) finishDelayMillis: Long = UltraSwipeRefreshTheme.config.finishDelayMillis, vibrationEnabled: Boolean = UltraSwipeRefreshTheme.config.vibrationEnabled, @IntRange(from = 1, to = 50) vibrationMillis: Long = UltraSwipeRefreshTheme.config.vibrationMillis, alwaysScrollable: Boolean = UltraSwipeRefreshTheme.config.alwaysScrollable, onCollapseScroll: suspend (Float) -> Unit? = null, headerIndicator: @Composable (UltraSwipeRefreshState) -> Unit = UltraSwipeRefreshTheme.config.headerIndicator, footerIndicator: @Composable (UltraSwipeRefreshState) -> Unit = UltraSwipeRefreshTheme.config.footerIndicator, headerSecondaryContent: @Composable (UltraSwipeRefreshState) -> Unit? = null, footerSecondaryContent: @Composable (UltraSwipeRefreshState) -> Unit? = null, contentContainer: @Composable (@Composable () -> Unit) -> Unit = UltraSwipeRefreshTheme.config.contentContainer, content: @Composable () -> Unit) UltraSwipeRefresh:一个可带来极致体验的 Compose 刷新组件,支持下拉刷新和上拉加载, 可完美替代官方的 SwipeRefresh,功能更丰富,扩展性更强。
Author
Jenly
Follow me
Parameters
修饰符,用于装饰或扩展 Compose UI 元素的行为;详细说明见 Modifier
headerSecondaryTriggerRate
footerSecondaryTriggerRate
完成状态的停留时长(毫秒),便于展示提示内容;默认值:500
是否启用振动反馈。启用后,滑动偏移量达到阈值时将触发振动;默认值:false
是否始终允许滚动。设为 true 时,不受刷新/加载状态限制,始终可滚动;默认值:false
可选回调,当 Header/Footer 收起时用于同步调整列表位置,消除视觉回弹