dev
dart 49 lines 1.48 KB
Raw
1 import 'package:cw_core/currency.dart';
2 import 'package:flutter/material.dart';
3 import 'currency_picker_item_widget.dart';
4
5 class CurrencyPickerWidget extends StatelessWidget {
6 CurrencyPickerWidget({
7 required this.crossAxisCount,
8 required this.selectedAtIndex,
9 required this.pickerItemsList,
10 required this.pickListItem,
11 });
12
13 final int crossAxisCount;
14 final int selectedAtIndex;
15 final Function pickListItem;
16 final List<Currency> pickerItemsList;
17
18 final ScrollController _scrollController = ScrollController();
19
20 @override
21 Widget build(BuildContext context) {
22 return Container(
23 color: Theme.of(context).colorScheme.outlineVariant,
24 child: Scrollbar(
25 controller: _scrollController,
26 child: GridView.builder(
27 controller: _scrollController,
28 padding: EdgeInsets.zero,
29 shrinkWrap: true,
30 gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
31 crossAxisCount: crossAxisCount,
32 crossAxisSpacing: 2,
33 childAspectRatio: 3,
34 ),
35 itemCount: pickerItemsList.length,
36 itemBuilder: (BuildContext ctx, index) {
37 return PickerItemWidget(
38 onTap: () {
39 pickListItem(index);
40 },
41 title: pickerItemsList[index].name,
42 iconPath: pickerItemsList[index].iconPath,
43 tag: pickerItemsList[index].tag,
44 );
45 }),
46 ),
47 );
48 }
49 }