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

Класс SliverGridDelegateWithFixedCrossAxisCount

Класс SliverGridDelegateWithFixedCrossAxisCount передают в gridDelegate у GridView и SliverGrid. Поле crossAxisCount задаёт число колонок, mainAxisSpacing и crossAxisSpacing - зазоры между ячейками, childAspectRatio - форму ячейки.

Синтаксис

SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2)

Параметры

Параметр Описание
crossAxisCount Сколько ячеек стоит в поперечном направлении.
mainAxisSpacing Промежуток между ячейками вдоль прокрутки.
crossAxisSpacing Промежуток между ячейками поперёк прокрутки.
childAspectRatio Отношение ширины ячейки к её высоте.

Пример

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

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: GridView( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 2, ), children: [ Center(child: Text('abcde')), Center(child: Text('12345')), ], ), ), ), ); }

На экране две ячейки в ряд одинаковой ширины.

Пример

Давайте увеличим зазор между рядами:

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

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

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

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