MOTOSHARE 🚗🏍️
Turning Idle Vehicles into Shared Rides & Earnings

From Idle to Income. From Parked to Purpose.
Earn by Sharing, Ride by Renting.
Where Owners Earn, Riders Move.
Owners Earn. Riders Move. Motoshare Connects.

With Motoshare, every parked vehicle finds a purpose. Owners earn. Renters ride.
🚀 Everyone wins.

Start Your Journey with Motoshare

Adding a Search or Filter Feature to Your Flutter App

Filtering and searching are essential functionalities in many mobile apps. we’ll explore how to implement a search or filter feature in a Flutter app.

Let’s create a new Flutter project to implement the search or filter feature. Open your terminal and run the following commands:

flutter create search_filter_app
cd search_filter_app

This will create a new Flutter project named “search_filter_app” and change your working directory to the project folder.

Creating the User Interface

To keep things simple, we will create a list of items with a search bar at the top. Follow these steps to create the user interface:

  1. Open the lib/main.dart file.
  2. Replace the contents with the following code:
import 'package:flutter/material.dart';

void main() {
  runApp(SearchFilterApp());
}

class SearchFilterApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Search and Filter',
      home: SearchFilterScreen(),
    );
  }
}

class SearchFilterScreen extends StatefulWidget {
  @override
  _SearchFilterScreenState createState() => _SearchFilterScreenState();
}

class _SearchFilterScreenState extends State<SearchFilterScreen> {
  final List<String> items = List.generate(50, (index) => 'Item $index');
  List<String> filteredItems = [];

  void filterItems(String query) {
    filteredItems = items
        .where((item) => item.toLowerCase().contains(query.toLowerCase()))
        .toList();
    setState(() {});
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Search and Filter'),
      ),
      body: Column(
        children: <Widget>[
          Padding(
            padding: const EdgeInsets.all(16.0),
            child: TextField(
              onChanged: filterItems,
              decoration: InputDecoration(
                labelText: 'Search',
                border: OutlineInputBorder(
                  borderRadius: BorderRadius.circular(12),
                ),
              ),
            ),
          ),
          Expanded(
            child: ListView.builder(
              itemCount: filteredItems.isNotEmpty ? filteredItems.length : items.length,
              itemBuilder: (context, index) {
                return ListTile(
                  title: Text(filteredItems.isNotEmpty ? filteredItems[index] : items[index]),
                );
              },
            ),
          ),
        ],
      ),
    );
  }
}

In this code, we create a simple Flutter app with a search bar and a list of items. The filterItems method is used to filter the items based on the user’s input. The filtered items are displayed in a ListView.

Filtering or Searching Data

In the code above, the filterItems method is responsible for filtering the items based on the search query. It uses the where method to filter the items and converts them into a list. The setState method is called to trigger a rebuild of the UI with the updated filtered items.

Displaying Filtered Results

The filtered results are displayed in a ListView.builder. The itemCount property is set based on whether there are filtered items. If there are filtered items, the count is set to the number of filtered items; otherwise, it’s set to the total number of items.

The filtered items or the original items are displayed as ListTile widgets in the list.

Styling the Search Bar

In the code, we’ve styled the search bar by providing it with rounded borders. We set the borderRadius property to achieve the rounded appearance. Adjust the borderRadius value to control the roundness of the corners.

Testing and Running the App

To test the app, open your terminal and navigate to your project directory. Then, run the app with the following command:

flutter run

Related Posts

Become the Security Hero: A DevSecOps Certified Professional

Companies push code faster today, but that creates more security risks. The DevSecOps Certified Professional training teaches how to build security right into DevOps from the start. This 72-hour…

Why You Need the DevOps Foundation Certification Today

New to DevOps? The DevOps Foundation Certification gives you the basics to understand how development and operations teams work together. This entry-level training covers Continuous Integration, Continuous Delivery, Infrastructure…

How a DevOps Certified Professional Boosts Your IT Career

Want to become a top DevOps engineer? The DevOps Certified Professional program teaches everything from Linux basics to Kubernetes and monitoring. This 60-hour training uses real tools companies need…

Your Complete Guide to the DataOps Foundation Certification

In today’s fast data world, teams need good data quickly without problems. The DataOps Foundation Certification teaches you how to manage data like DevOps manages software. It helps make…

DataOps Certified Professional: Is This Certification Right for You?

In today’s data-driven world, getting data to teams quickly and reliably is a big challenge. The DataOps Certified Professional certification teaches you how to make data flow smoothly using…

DevOps Certification Courses Compare for Career Growth

Choosing the right certification can feel overwhelming when you’re staring at so many options like DevOps, SRE, DevSecOps, and MDE. The DevOps Certification Courses Compare breaks this down completely,…

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x