grouped_list 3.0.0
grouped_list: ^3.0.0 copied to clipboard
A ListView where list items can be grouped into sections. With sticky headers.
Grouped list package for Flutter. With sticky Headers #
A List with Sticky Headers!
Basically a flutter ListView in which list items can be grouped to sections.
Features
- List Items can be separated in groups.
- For the groups an individual header can be set.
- Sticky Headers. With Floating Option.
- Almost all fields from
ListView.builderconstructor available.
Getting Started #
Add the package to your pubspec.yaml:
grouped_list: ^3.0.0
In your dart file, import the library:
import 'package:grouped_list/grouped_list.dart';
Instead of using a ListView create a GroupedListView Widget:
GroupedListView(
elements: _elements,
groupBy: (element) => element['group'],
groupSeparatorBuilder: _buildGroupSeparator,
itemBuilder: (context, element) => Text(element['name']),
order: GroupedListOrder.ASC,
),
You can also use most fields from the ListView.builder constructor.
Parameters: #
elements: A list of the data you want to display in the list (required).groupBy: Function which maps an element to its grouped value (required).itemBuilderorindexedItemBuilder: Function which returns an Widget which defines the item.indexedItemBuilderprovides the current index as well. If both are definedindexedItemBuilderis preferred.groupSeparator: Function which returns an Widget which defines the section separator (required).
Widget _buildGroupSeparator(dynamic groupByValue) {
return Text('$groupByValue');
}
separator: A Widget which defines a separator between items inside a section.order: By default it'sGroupedListOrder.ASC. Change toGroupedListOrder.DESCfor reversing the group sorting.useStickyGroupSeparators. If set to true the topgroupSeparatorwill stick on top. Default istrue.
New Feature: #
- Sticky Headers can now float above the list. Just set the option
floatingHeadertotrue.
Notice:
- The item builder functions only creates the actual list items. For seperator items use the
separatorparameter. - Other than the
itemBuilderfunction of theListView.builderconstructor the function provides the specific element instead of the index as parameter.