Виджет SliverFillViewport
Виджет SliverFillViewport принимает delegate с дочерними страницами.
Синтаксис
SliverFillViewport(delegate: SliverChildListDelegate([Text('abcde')]))
Параметры
| Параметр | Описание |
|---|---|
delegate |
Delegate со списком страниц на весь viewport. |
viewportFraction |
Доля viewport на одну страницу. |
Пример
Давайте сделаем вертикальные экраны:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: CustomScrollView(
slivers: [
SliverFillViewport(
delegate: SliverChildListDelegate([
Center(child: Text('abcde')),
Center(child: Text('12345')),
]),
),
],
),
),
);
}
На экране каждая страница занимает высоту viewport.
Пример
Давайте уменьшим viewportFraction:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: CustomScrollView(
slivers: [
SliverFillViewport(
viewportFraction: 0.85,
delegate: SliverChildListDelegate([
Center(child: Text('abcde')),
Center(child: Text('12345')),
]),
),
],
),
),
);
}
На экране видна часть соседней страницы сбоку по вертикали.
Смотрите также
-
метод
shouldRebuild,
который часто ставят рядом в прокручиваемых экранах -
виджет
SliverOpacity,
который дополняет работу с прокруткой -
метод
build,
который помогает собрать сложный список -
виджет
SliverVisibility,
который задаёт поведение или данные прокрутки