Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
409 of 1024 menu
◀ ▶

Виджет RefreshIndicator

Виджет RefreshIndicator принимает onRefresh - функцию, которая возвращает Future. child должен прокручиваться.

Синтаксис

RefreshIndicator( onRefresh: () async {}, child: ListView(), )

Параметры

Параметр Описание
onRefresh Асинхронное действие обновления. Обязательный параметр.
child Прокручиваемый список. Обязательный параметр.

Пример

Давайте обновим подпись после жеста:

import 'package:flutter/material.dart'; class RefreshDemo extends StatefulWidget { @override State<RefreshDemo> createState() => _RefreshDemoState(); } class _RefreshDemoState extends State<RefreshDemo> { String label = 'abcde'; Future<void> reload() async { await Future.delayed(Duration(seconds: 1)); setState(() => label = '12345'); } @override Widget build(BuildContext context) { return RefreshIndicator( onRefresh: reload, child: ListView( children: [ListTile(title: Text(label))], ), ); } } void main() { runApp(MaterialApp(home: Scaffold(body: RefreshDemo()))); }

На экране после pull-to-refresh подпись сменится на другую.

Пример

Давайте покажем индикатор на длинном списке:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: RefreshIndicator( onRefresh: () async { await Future.delayed(Duration(milliseconds: 500)); }, child: ListView.builder( itemCount: 30, itemBuilder: (c, i) => ListTile(title: Text('abcde')), ), ), ), ), ); }

На экране круговой индикатор появится на время обновления.

Смотрите также

  • виджет Scrollbar,
    который часто ставят рядом в прокручиваемых экранах
  • виджет ReorderableListView,
    который дополняет работу с прокруткой
  • метод useDelegate,
    который помогает собрать сложный список
  • метод builder,
    который задаёт поведение или данные прокрутки
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить