Для создания группированного списка в приложении Flutter вы можете использовать виджет ListView.builder в сочетании с виджетом ListTile и разделителями. Вот подробное описание шагов для создания группированного списка:
1. Вам понадобится модель данных, которая будет представлять каждый элемент списка, а также определение группы элементов. Например, у вас может быть класс Product для элемента списка и класс Category для группировки элементов по категориям:
class Category { final String name; final List<Product> products; Category(this.name, this.products); } class Product { final String name; Product(this.name); }
2. Создайте список данных с группами и элементами, например:
List<Category> categories = [ Category('Category 1', [ Product('Product 1'), Product('Product 2'), Product('Product 3'), ]), Category('Category 2', [ Product('Product 4'), Product('Product 5'), ]), ];
3. В вашем Stateful Widget создайте метод build, в котором вы будете создавать список с использованием ListView.builder:
@override Widget build(BuildContext context) { return ListView.builder( itemCount: categories.length, itemBuilder: (context, index) { Category category = categories[index]; // Создайте заголовок для категории Widget header = ListTile( title: Text(category.name, style: TextStyle(fontWeight: FontWeight.bold)), ); // Создайте список элементов для каждой категории List<Widget> items = category.products.map((product) { return ListTile( title: Text(product.name), ); }).toList(); // Объедините заголовок и список элементов в столбец return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ header, ...items, ], ); }, ); }
4. Запустите ваше приложение и вы увидите группированный список с категориями и элементами внутри каждой категории.
Это базовый пример, и вы можете настроить его по своему усмотрению. Вы можете добавить разные стили, разделители между элементами, изображения и т.д.
Надеюсь, эта информация поможет вам создать группированный список в вашем приложении Flutter.