Material3 PullToRefreshContainer не работаетAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Material3 PullToRefreshContainer не работает

Сообщение Anonymous »

Код: Выделить всё

  fun ProductsListScreen() {

val lazyListState: LazyGridState = rememberLazyGridState()
var isRefreshing by remember {
mutableStateOf(false)
}
val pullToRefreshState = rememberPullToRefreshState(enabled = { isRefreshing })
val scope = rememberCoroutineScope()

Scaffold(modifier = Modifier.fillMaxSize(), topBar = {
///topAppBar

}) { paddingValues ->

Box(
Modifier
.verticalScroll(rememberScrollState())
.nestedScroll(pullToRefreshState.nestedScrollConnection)
.fillMaxSize()
.padding(paddingValues)
) {

LazyVerticalGrid(
state = lazyListState,
modifier = Modifier
.fillMaxSize()
.padding(10.dp)
.padding(bottom = paddingValues.calculateBottomPadding()),
columns = GridCells.Fixed(2),
contentPadding = PaddingValues(5.dp)
) {
/// Items
}

if (pullToRefreshState.isRefreshing) {
LaunchedEffect(true) {
scope.launch {
isRefreshing = true
productViewModel.loadProducts(forceRefresh = true)
isRefreshing = false
}
}
}
LaunchedEffect(isRefreshing) {
if (isRefreshing) {
pullToRefreshState.startRefresh()
} else {
pullToRefreshState.endRefresh()
}
}

PullToRefreshContainer(
state = pullToRefreshState,
modifier = Modifier
.align(Alignment.TopCenter),
)

}

}

}
Я использую версию composeBom = "2024.04.01"

Код: Выделить всё

androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
androidx-material3 = { group = "androidx.compose.material3", name = "material3" }
Я вижу индикатор PullRefreshIndicator сверху, но он не тянет. Я пытался использовать pullToRefreshState с LazyGrid и Box, но безрезультатно. Я пытался отобразить индикатор из MainScreen с помощью функции Unit на ProductsScreen, но тоже безрезультатно, и я пытался следовать этим руководствам Medium, YouTube, но безрезультатно.


Подробнее здесь: https://stackoverflow.com/questions/792 ... ot-working
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»