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

Виджет PrimaryScrollController

Виджет PrimaryScrollController кладёт ScrollController в дерево. Scaffold и ListView без своего controller используют его.

Синтаксис

PrimaryScrollController( controller: scrollController, child: ListView(), )

Параметры

Параметр Описание
controller Контроллер, который станет primary для поддерева.
child Обычно Scaffold или список.

Пример

Давайте прокрутим primary список из кнопки:

import 'package:flutter/material.dart'; class PrimaryDemo extends StatelessWidget { final ScrollController controller = ScrollController(); @override Widget build(BuildContext context) { return PrimaryScrollController( controller: controller, child: Scaffold( floatingActionButton: FloatingActionButton( onPressed: () => controller.jumpTo(200), child: Icon(Icons.arrow_downward), ), body: ListView.builder( itemCount: 40, itemBuilder: (c, i) => ListTile(title: Text('abcde')), ), ), ); } } void main() { runApp(MaterialApp(home: PrimaryDemo())); }

На экране список прокрутится вниз после нажатия на кнопку.

Пример

Давайте обернём короткий список:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: PrimaryScrollController( controller: ScrollController(), child: ListView(children: [Text('12345'), Text('abcde')]), ), ), ), ); }

На экране две строки используют общий primary контроллер.

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

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