UltraSwipeRefreshConfig

constructor(headerScrollMode: NestedScrollMode = NestedScrollMode.Translate, footerScrollMode: NestedScrollMode = NestedScrollMode.Translate, refreshEnabled: Boolean = true, loadMoreEnabled: Boolean = true, @FloatRange(from = 0.0, fromInclusive = false) refreshTriggerRate: Float = 1.0f, @FloatRange(from = 0.0, fromInclusive = false) loadMoreTriggerRate: Float = 1.0f, headerSecondaryEnabled: Boolean = false, footerSecondaryEnabled: Boolean = false, headerSecondaryBehavior: SecondaryBehavior = SecondaryBehavior.Slide, footerSecondaryBehavior: SecondaryBehavior = SecondaryBehavior.Slide, headerSecondaryPreview: Boolean = false, footerSecondaryPreview: Boolean = false, @FloatRange(from = 1.0, fromInclusive = false) headerSecondaryTriggerRate: Float = 2.0f, @FloatRange(from = 1.0, fromInclusive = false) footerSecondaryTriggerRate: Float = 2.0f, @FloatRange(from = 1.0) headerMaxOffsetRate: Float = 3.0f, @FloatRange(from = 1.0) footerMaxOffsetRate: Float = 3.0f, @FloatRange(from = 0.0, to = 2.0, fromInclusive = false) dragMultiplier: Float = 0.5f, @IntRange(from = 0, to = 2000) finishDelayMillis: Long = 500, vibrationEnabled: Boolean = false, @IntRange(from = 1, to = 50) vibrationMillis: Long = 25, alwaysScrollable: Boolean = false, headerIndicator: @Composable (UltraSwipeRefreshState) -> Unit = { SwipeRefreshHeader(it) }, footerIndicator: @Composable (UltraSwipeRefreshState) -> Unit = { SwipeRefreshFooter(it) }, contentContainer: @Composable (@Composable () -> Unit) -> Unit = { NoOverscrollEffect(it) })

Parameters

headerScrollMode

下拉刷新时 Header 的滑动模式;详细说明见 NestedScrollMode

footerScrollMode

上拉加载时 Footer 的滑动模式;详细说明见 NestedScrollMode

refreshEnabled

是否启用下拉刷新

loadMoreEnabled

是否启用上拉加载

refreshTriggerRate

触发下拉刷新的最小滑动比例,基于 headerIndicator 的高度;默认值:1

loadMoreTriggerRate

触发上拉加载的最小滑动比例,基于 footerIndicator 的高度;默认值:1

headerSecondaryEnabled

是否启用 Header 二级内容功能

footerSecondaryEnabled

是否启用 Footer 二级内容功能

headerSecondaryBehavior

Header 二级内容交互行为模式;详细说明见 SecondaryBehavior

footerSecondaryBehavior

Footer 二级内容交互行为模式;详细说明见 SecondaryBehavior

headerSecondaryPreview

UltraSwipeHeaderState.ReleaseToSecondary 状态下是否可提前预览 Header 二级内容

footerSecondaryPreview

UltraSwipeFooterState.ReleaseToSecondary 状态下是否可提前预览 Footer 二级内容

headerSecondaryTriggerRate

触发 Header 二级内容的最小滑动比例,基于 headerIndicator 的高度;默认值:2

footerSecondaryTriggerRate

触发 Footer 二级内容的最小滑动比例,基于 footerIndicator 的高度;默认值:2

headerMaxOffsetRate

下拉时 headerIndicator 的最大滑动偏移比例,基于其自身高度;默认值:3

footerMaxOffsetRate

上拉时 footerIndicator 的最大滑动偏移比例,基于其自身高度;默认值:3

dragMultiplier

滑动时的阻力系数,值越小阻力越大;默认值:0.5

finishDelayMillis

完成状态的停留时长(毫秒),便于展示提示内容;默认值:500

vibrationEnabled

是否启用振动反馈。启用后,滑动偏移量达到阈值时将触发振动;默认值:false

vibrationMillis

触发刷新或加载时的振动时长(毫秒);默认值:25

alwaysScrollable

是否始终允许滚动。设为 true 时,不受刷新/加载状态限制,始终可滚动;默认值:false

headerIndicator

下拉刷新时顶部显示的 Header 指示器

footerIndicator

上拉加载时底部显示的 Footer 指示器

contentContainer

内容的父容器,便于统一管理