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

Виджет GridView

Виджет GridView показывает дочерние виджеты в ячейках сетки. Готовые ячейки передают в children, а длинную сетку удобнее собирать через builder. Число колонок задают count или extent. Прокруткой управляет ScrollController в controller.

Синтаксис

GridView( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2), children: [Text('abcde'), Text('12345')], )

Параметры

Параметр Описание
gridDelegate Как делить место на ячейки. Принимает SliverGridDelegateWithFixedCrossAxisCount или SliverGridDelegateWithMaxCrossAxisExtent.
children Список виджетов ячеек для обычного конструктора.
controller ScrollController для программной прокрутки.
physics ScrollPhysics для жеста прокрутки.
scrollDirection Ось прокрутки: вертикаль или горизонталь.

Методы

Метод Описание
count GridView. Давайте разберём вызов на примерах.
extent GridView. Давайте разберём вызов на примерах.
builder Ячейка по индексу, когда она попадает на экран.
custom GridView. Давайте разберём вызов на примерах.

Пример

Давайте выведем четыре ячейки в две колонки:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: GridView.count( crossAxisCount: 2, children: List.generate( 4, (i) => Card(child: Center(child: Text('abcde'))), ), ), ), ), ); }

На экране четыре карточки в две колонки, лишние уедут вниз при прокрутке.

Пример

Давайте прокрутим длинную сетку через builder:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: GridView.builder( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 3, ), itemCount: 30, itemBuilder: (BuildContext context, int index) { return Center(child: Text('12345')); }, ), ), ), ); }

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

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

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