diff --git a/flutter/lib/common/widgets/address_book.dart b/flutter/lib/common/widgets/address_book.dart index bb5dc5605..14a510cec 100644 --- a/flutter/lib/common/widgets/address_book.dart +++ b/flutter/lib/common/widgets/address_book.dart @@ -1,3 +1,4 @@ +import 'package:dynamic_layouts/dynamic_layouts.dart'; import 'package:flutter/material.dart'; import 'package:flutter_hbb/common/formatter/id_formatter.dart'; import 'package:flutter_hbb/common/widgets/peer_card.dart'; @@ -156,9 +157,13 @@ class _AddressBookState extends State { } else { tags = gFFI.abModel.tags; } - return Wrap( - children: tags - .map((e) => AddressBookTag( + return DynamicGridView.builder( + gridDelegate: SliverGridDelegateWithWrapping( + mainAxisSpacing: 0, crossAxisSpacing: 0), + itemCount: tags.length, + itemBuilder: (BuildContext context, int index) { + final e = tags[index]; + return AddressBookTag( name: e, tags: gFFI.abModel.selectedTags, onTap: () { @@ -167,9 +172,8 @@ class _AddressBookState extends State { } else { gFFI.abModel.selectedTags.add(e); } - })) - .toList(), - ); + }); + }); }); } diff --git a/flutter/lib/common/widgets/my_group.dart b/flutter/lib/common/widgets/my_group.dart index a4d89155a..e73755d2f 100644 --- a/flutter/lib/common/widgets/my_group.dart +++ b/flutter/lib/common/widgets/my_group.dart @@ -148,16 +148,15 @@ class _MyGroupState extends State { Widget _buildUserContacts() { return Obx(() { - return Column( - children: gFFI.groupModel.users - .where((p0) { - if (searchUserText.isNotEmpty) { - return p0.name.contains(searchUserText.value); - } - return true; - }) - .map((e) => _buildUserItem(e)) - .toList()); + final items = gFFI.groupModel.users.where((p0) { + if (searchUserText.isNotEmpty) { + return p0.name.contains(searchUserText.value); + } + return true; + }).toList(); + return ListView.builder( + itemCount: items.length, + itemBuilder: (context, index) => _buildUserItem(items[index])); }); }