Виджет ScrollConfiguration
Виджет ScrollConfiguration принимает behavior типа ScrollBehavior и оборачивает child.
Синтаксис
ScrollConfiguration(
behavior: ScrollConfiguration.of(context).copyWith(scrollbars: true),
child: ListView(),
)
Параметры
| Параметр | Описание |
|---|---|
behavior |
Объект ScrollBehavior с настройками прокрутки.
|
child |
Дочерние прокручиваемые виджеты. |
Пример
Давайте включим полосу прокрутки для списка:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Builder(
builder: (BuildContext context)
{
return ScrollConfiguration(
behavior: ScrollConfiguration.of(context).copyWith(scrollbars: true),
child: Scrollbar(
child: ListView.builder(
itemCount: 30,
itemBuilder: (c, i) => ListTile(title: Text('abcde')),
),
),
);
},
),
),
),
);
}
На экране список с видимой полосой прокрутки.
Пример
Давайте зададим физику без отскока:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Builder(
builder: (BuildContext context)
{
return ScrollConfiguration(
behavior: ScrollConfiguration.of(context).copyWith(
physics: ClampingScrollPhysics(),
),
child: ListView(children: List.generate(15, (i) => Text('12345'))),
);
},
),
),
),
);
}
На экране прокрутка останавливается у края без резинового эффекта.
Смотрите также
-
виджет
NotificationListener,
который часто ставят рядом в прокручиваемых экранах -
виджет
PrimaryScrollController,
который дополняет работу с прокруткой -
метод
jumpToPage,
который помогает собрать сложный список -
виджет
Scrollable,
который задаёт поведение или данные прокрутки