Skip to main content
196

Search Lumen

Find components, APIs, guides, and recipes.

GitHub
Android docs
FeedbackAndroid

Pull to refresh

Refresh existing scrollable content with native gestures and accessible progress.

Public APILumenPullToRefreshAndroid / Compose

Native example

Use Pull to refresh

Wrap the existing scrollable content. Keep requests, cancellation, retry policy, and completion in application code. Disabled state removes gestures while an already-running host operation retains feedback.

Pull to refresh rendered in the Android phone emulator Lumen playground
Captured exampleAndroid phone emulator
kotlin
LumenPullToRefresh(
    isRefreshing = refreshing,
    onRefresh = ::refreshProjects,
    refreshLabel = "Refresh projects",
    refreshingLabel = "Refreshing projects"
) {
    LazyColumn { /* application-owned rows */ }
}

Reference

Public API

The primary shared and platform-specific options exposed by LumenPullToRefresh.

APIValues or typeDefaultDescription
isRefreshing / onRefreshBoolean / () -> UnitRequiredControls progress and starts application-owned refresh work.
modifierModifierModifierApplies container layout and accessibility.
enabledBooleantrueEnables the refresh gesture and accessible action when idle.
refreshLabel / refreshingLabelStringRefresh / RefreshingLocalizes the action and progress state.
content@Composable BoxScope.() -> UnitRequiredRenders application-owned scrolling content.

Native behavior

Design and accessibility

When to use it

Wrap the existing scrollable content. Keep requests, cancellation, retry policy, and completion in application code. Disabled state removes gestures while an already-running host operation retains feedback.

Accessibility

Provides a named refresh accessibility action alongside the native gesture, announces progress, and removes refresh actions while disabled or busy.

Android docsCompose module