Searchable Text
Complete Code For Searchable Text In Flutter
main.dart
import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, title: 'Retrieve Text Input', home: SearchText(), ); } } class SearchText extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( backgroundColor: Colors.pink, title: Text("Searchable Text"), actions: <Widget>[ IconButton( icon: Icon(Icons.search), onPressed: () { showSearch( context: context, delegate: DataSearch(), ); }) ], ), drawer: Drawer(), ); } } class DataSearch extends SearchDelegate<String> { final mobile = ['MotoRola', 'Samsung', 'Lenovo', 'Apple', 'Redmi','Realmi','Oppo']; var recentMobiles = ['MotoRola']; @override List<Widget> buildActions(BuildContext context) { return [ IconButton( icon: Icon(Icons.clear), onPressed: () { query = ""; }) ]; } @override Widget buildLeading(BuildContext context) { return IconButton( icon: AnimatedIcon( icon: AnimatedIcons.menu_arrow, progress: transitionAnimation, ), onPressed: () { close(context, null); }); } @override Widget buildResults(BuildContext context) { return Center( child: Container( width: 100, height: 100, child: Card( color: Colors.pink, child: Center(child: Text(query,style: TextStyle(color: Colors.white),)), ), ), ); } @override Widget buildSuggestions(BuildContext context) { final suggestionList = query.isEmpty ? recentMobiles : mobiles.where((p) => p.startsWith(query)).toList();
return ListView.builder( itemBuilder: (context, index) => ListTile( onTap: () { showResults(context); }, leading: Icon(Icons.mobile_friendly), title: RichText( text: TextSpan( text: suggestionList[index].substring(0, query.length), style: TextStyle( color: Colors.black, fontWeight: FontWeight.bold, ), children: [ TextSpan( text: suggestionList[index].substring(query.length), ), ], ), ), ), itemCount: suggestionList.length, ); } }