Метод custom
Метод custom виджета GridView конструктор GridView.custom принимает children со слайверами, например SliverGrid.count.
Синтаксис
GridView.custom(
children: [
SliverGrid.count(crossAxisCount: 2, children: [Text('abcde')]),
],
)
Параметры
| Параметр | Описание |
|---|---|
children |
Список слайверов сетки. Обязательный параметр. |
controller |
ScrollController для прокрутки.
|
Пример
Давайте вызовем его в простом экране:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: GridView.custom(
children: [
SliverToBoxAdapter(
child: Padding(
padding: EdgeInsets.all(8),
child: Text('abcde'),
),
),
SliverGrid.count(
crossAxisCount: 2,
children: List.generate(
4,
(i) => Center(child: Text('12345')),
),
),
],
),
),
),
);
}
На экране сверху заголовок, ниже сетка из четырёх ячеек.
Пример
Давайте повторим вызов с другими числами:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: GridView.custom(
children: [
SliverGrid.count(
crossAxisCount: 3,
children: List.generate(
9,
(i) => Card(child: Center(child: Text('abcde'))),
),
),
],
),
),
),
);
}
На экране девять карточек в три колонки с прокруткой.
Смотрите также
-
метод
builder,
который часто ставят рядом в прокручиваемых экранах -
класс
SliverGridDelegateWithFixedCrossAxisCount,
который дополняет работу с прокруткой -
метод
extent,
который помогает собрать сложный список -
класс
SliverGridDelegateWithMaxCrossAxisExtent,
который задаёт поведение или данные прокрутки