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

Building Elegant Multiple Select Dropdown Lists in Flutter

Selecting multiple options from a dropdown list is a common requirement in Flutter app development. While plugins like flutter_custom_selector can simplify the process, let’s explore how to create a beautiful multiple select dropdown list without relying on external plugins. In your Flutter project, you might need a dropdown list that allows users to select multiple languages. Let’s enhance your existing code and provide a more elegant solution.

import 'package:flutter/material.dart';

class MultipleSelectDropdown extends StatefulWidget {
  const MultipleSelectDropdown({Key? key}) : super(key: key);

  @override
  State<MultipleSelectDropdown> createState() => _MultipleSelectDropdownState();
}

class _MultipleSelectDropdownState extends State<MultipleSelectDropdown> {
  List<String> availableLanguages = [
    "Chinese",
    "Spanish",
    "Hindi",
    "Arabic",
    "Bengali",
    "Portuguese",
    "Russian",
    "Japanese",
    "Indonesian",
    "Sinhala",
    "Tamil",
    "Mandarin",
    "Thai",
  ];

  List<String> selectedLanguages = [];

  @override
  Widget build(BuildContext context) {
    double width = MediaQuery.of(context).size.width;
    return Container(
      width: width * 0.8,
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          Text(
            'Select Your Languages',
            style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
          ),
          SizedBox(height: 10),
          Container(
            padding: EdgeInsets.all(10),
            decoration: BoxDecoration(
              border: Border.all(color: Colors.grey),
              borderRadius: BorderRadius.circular(8),
            ),
            child: DropdownButtonHideUnderline(
              child: DropdownButton<String>(
                isExpanded: true,
                value: selectedLanguages.isEmpty
                    ? null
                    : selectedLanguages.join(', '),
                hint: Text('Choose Languages'),
                items: availableLanguages.map((String language) {
                  return DropdownMenuItem<String>(
                    value: language,
                    child: Text(language),
                  );
                }).toList(),
                onChanged: (String? value) {
                  setState(() {
                    if (value != null) {
                      if (selectedLanguages.contains(value)) {
                        selectedLanguages.remove(value);
                      } else {
                        selectedLanguages.add(value);
                      }
                    }
                  });
                },
              ),
            ),
          ),
          SizedBox(height: 10),
          Text(
            'Selected Languages: ${selectedLanguages.join(', ')}',
            style: TextStyle(fontSize: 16),
          ),
        ],
      ),
    );
  }
}

Dropdown UI Enhancement:

We’ve wrapped the dropdown in a container for a cleaner look.

Added styling to the dropdown container for better aesthetics.

Multi-Select Functionality:

Modified the dropdown to allow multiple selections.

Display selected languages dynamically below the dropdown.

Improved User Experience:

Included a hint in the dropdown for better user guidance.

Removed the unnecessary Padding and Column in the original code.

Related Posts

Expert SRE Training for Professionals in United Kingdom & London

The SRE Training in the United Kingdom and London program is taught by experienced people who share real stories from their work. You learn SRE basics, how to design…

Expert SRE Training for Professionals in Netherlands & Amsterdam

Site Reliability Engineering (SRE) is a way to keep computer systems running well and safe. This method uses software tools to handle operations work, helping teams build…

Expert SRE Training for Tech Professionals Across India

Site Reliability Engineering (SRE) is a way to keep computer systems running well and safe in today’s tech world. This method uses software tools and smart practices…

Expert-Led SRE Training for Tech Professionals Across Canada

Site Reliability Engineering (SRE) is a way to keep computer systems running well and safe. This method uses software tools to handle operations work, helping teams build…

Expert-Led SonarQube Training for Developers in Pune

SonarQube works as a main tool to keep code neat and safe in fast software work. This open tool checks code by itself to find bugs, safe…

Expert-Led SonarQube Training for Developers in Mumbai

SonarQube serves as a vital tool for keeping code clean and secure in fast-moving software projects. This open-source platform runs automatic checks to find bugs, security gaps,…

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