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

Виджет Scrollable

Виджет Scrollable задаёт viewportBuilder и controller. Обычно его оборачивают готовые виджеты вроде ListView.

Синтаксис

Scrollable( axisDirection: AxisDirection.down, controller: scrollController, viewportBuilder: (context, offset) => viewport, )

Параметры

Параметр Описание
viewportBuilder Строит viewport с учётом смещения. Обязательный параметр.
controller ScrollController.
physics ScrollPhysics.

Пример

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

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Scrollable( axisDirection: AxisDirection.down, controller: ScrollController(), viewportBuilder: (BuildContext context, ViewportOffset offset) { return SingleChildViewport( offset: offset, child: Column( children: List.generate( 25, (i) => ListTile(title: Text('abcde')), ), ), ); }, ), ), ), ); }

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

Пример

Давайте включим горизонтальную ось:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Scrollable( axisDirection: AxisDirection.right, controller: ScrollController(), viewportBuilder: (context, offset) { return SingleChildViewport( offset: offset, child: Row( children: List.generate( 10, (i) => SizedBox(width: 120, child: Center(child: Text('12345'))), ), ), ); }, ), ), ), ); }

На экране подписи уезжают в сторону при горизонтальном свайпе.

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

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