From a39c43202df6e781733908110b2c75145e6f02d4 Mon Sep 17 00:00:00 2001 From: Juan Gilsanz Polo Date: Fri, 28 Oct 2022 20:23:24 +0200 Subject: [PATCH] AppBar bottom line disappears when scroll on search clients --- lib/screens/clients/search_clients.dart | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/screens/clients/search_clients.dart b/lib/screens/clients/search_clients.dart index ffdb672..d762f03 100644 --- a/lib/screens/clients/search_clients.dart +++ b/lib/screens/clients/search_clients.dart @@ -46,6 +46,8 @@ class SearchClientsWidget extends StatefulWidget { } class _SearchClientsWidgetState extends State { + late ScrollController scrollController; + final TextEditingController searchController = TextEditingController(); List clients = []; @@ -54,6 +56,8 @@ class _SearchClientsWidgetState extends State { List clientsScreen = []; List autoClientsScreen = []; + bool showDivider = true; + void search(String value) { setState(() { clientsScreen = clients.where((client) => client.name.contains(value) || client.ids.where((e) => e.contains(value)).isNotEmpty).toList(); @@ -61,8 +65,19 @@ class _SearchClientsWidgetState extends State { }); } + void scrollListener() { + if (scrollController.position.pixels > 0) { + setState(() => showDivider = false); + } + else { + setState(() => showDivider = true); + } + } + @override void initState() { + scrollController = ScrollController()..addListener(scrollListener); + setState(() { clients = widget.serversProvider.clients.data!.clients; autoClients = widget.serversProvider.clients.data!.autoClientsData; @@ -243,13 +258,16 @@ class _SearchClientsWidgetState extends State { width: double.maxFinite, height: 1, decoration: BoxDecoration( - color: Colors.grey.withOpacity(0.5) + color: showDivider == true + ? Colors.grey.withOpacity(0.5) + : Colors.transparent ), ), ), ), body: clientsScreen.isNotEmpty || autoClientsScreen.isNotEmpty ? ListView( + controller: scrollController, children: [ if (clientsScreen.isNotEmpty) ...[ SectionLabel(