diff --git a/lib/screens/custom_search_delegate.dart b/lib/screens/custom_search_delegate.dart new file mode 100644 index 0000000..f9e6154 --- /dev/null +++ b/lib/screens/custom_search_delegate.dart @@ -0,0 +1,76 @@ +// ignore_for_file: file_names + +import 'package:flutter/material.dart'; + +class CustomSearchDelegate extends SearchDelegate { + List searchTerms = [ + 'Ram', + 'lakshman', + 'bharat', + 'shatrughna', + 'hanuman', + 'sita', + 'dashrath', + ]; + List buildactions(BuildContext context) { + return [ + IconButton( + icon: const Icon(Icons.clear), + onPressed: () { + query = ' '; + }, + ) + ]; + } + + @override + Widget buildLeading(BuildContext context) { + return IconButton( + icon: const Icon(Icons.arrow_back), + onPressed: () { + close(context, null); + }, + ); + } + + @override + Widget buildResults(BuildContext context) { + List matchQuery = []; + for (var name in searchTerms) { + if (name.toLowerCase().contains(query.toLowerCase())) { + matchQuery.add(name); + } + } + return ListView.builder( + itemCount: matchQuery.length, + itemBuilder: (context, index) { + var result = matchQuery[index]; + return ListTile( + title: Text(result), + ); + }); + } + + @override + Widget buildSuggestions(BuildContext context) { + List matchQuery = []; + for (var name in searchTerms) { + if (name.toLowerCase().contains(query.toLowerCase())) { + matchQuery.add(name); + } + } + return ListView.builder( + itemCount: matchQuery.length, + itemBuilder: (context, index) { + var result = matchQuery[index]; + return ListTile( + title: Text(result), + ); + }); + } + + @override + List? buildActions(BuildContext context) { + // TODO: implement buildActions + } +}