Виджет Scrollbar
Виджет Scrollbar оборачивает child и связывается с controller того же списка.
Синтаксис
Scrollbar(child: ListView())
Параметры
| Параметр | Описание |
|---|---|
child |
Прокручиваемый виджет. Обязательный параметр. |
controller |
ScrollController, если у child свой controller.
|
thumbVisibility |
Показывать полосу постоянно или только при прокрутке. |
Пример
Давайте обернём длинный список:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Scrollbar(
child: ListView.builder(
itemCount: 50,
itemBuilder: (c, i) => ListTile(title: Text('abcde')),
),
),
),
),
);
}
На экране справа появится полоса при прокрутке.
Пример
Давайте сделаем полосу всегда видимой:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Scrollbar(
thumbVisibility: true,
child: ListView(children: List.generate(20, (i) => Text('12345'))),
),
),
),
);
}
На экране полоса не исчезает после остановки прокрутки.
Смотрите также
-
метод
useDelegate,
который часто ставят рядом в прокручиваемых экранах -
виджет
RefreshIndicator,
который дополняет работу с прокруткой -
виджет
ListWheelScrollView,
который помогает собрать сложный список -
виджет
ReorderableListView,
который задаёт поведение или данные прокрутки