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

Метод custom

Метод custom виджета ListView конструктор ListView.custom принимает список children из слайверов и ведёт себя как облегчённый CustomScrollView. Удобно смешивать SliverList.list и SliverToBoxAdapter.

Синтаксис

ListView.custom( children: [ SliverList.list( children: [Text('abcde')], ), ], )

Параметры

Параметр Описание
children Список слайверов, которые участвуют в прокрутке. Обязательный параметр.
controller ScrollController для смещения прокрутки.
physics Физика жеста. Принимает ScrollPhysics.

Пример

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

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: ListView.custom( children: [ SliverToBoxAdapter( child: Padding( padding: EdgeInsets.all(16), child: Text('abcde'), ), ), SliverList.list( children: List.generate( 5, (i) => ListTile(title: Text('12345')), ), ), ], ), ), ), ); }

На экране сверху заголовок, ниже пять одинаковых пунктов в одной прокрутке.

Пример

Давайте вставим отступ вокруг списка через SliverPadding:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: ListView.custom( children: [ SliverPadding( padding: EdgeInsets.all(8), sliver: SliverList.list( children: [ Text('abcde'), Text('12345'), ], ), ), ], ), ), ), ); }

На экране обе строки сдвинутся от краёв на одинаковый отступ.

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

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