CSCPicker is a Flutter package that provides an easy way to select a country, state, and city from a list. It offers a user-friendly interface and a comprehensive database of countries, states, and cities from around the world.
Features
Features:
Select country, state, and city from separate dropdowns Comprehensive database with over 250 countries and their respective states and cities Search functionality to quickly find the desired location Customizable UI to match your app's theme Localization support for multiple languages
Getting started
Benefits:
Simplifies location selection in your Flutter apps Provides a consistent and customizable UI Reduces the need for manual location input, improving user experience Supports localization for global reach

Usage
import 'package:countrypicker/FunctionWidget.dart';
import 'package:flutter/material.dart';
class HomePage extends StatefulWidget {
const HomePage({super.key});
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(20),
child: Column(
children: [
FunctionWidget(),
SizedBox(height: 30),
FunctionWidget(
countryLabel: 'Country',
StateLabel: 'State',
cityLabel: 'City',
LabelStyle:
TextStyle(fontSize: 18, fontWeight: FontWeight.w600),
hintTextCountry: "Select a country",
hintTextStyleCountry: TextStyle(fontSize: 16),
countryDropdownDecoration: InputDecoration(
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(15),
borderSide: BorderSide.none,
),
filled: true,
fillColor: Colors.grey.shade300,
prefixIcon: Icon(Icons.flag_rounded)),
hintTextState: "Choose a state",
hintTextStyleState: TextStyle(fontSize: 16),
stateDropdownDecoration: InputDecoration(
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(15),
borderSide: BorderSide.none,
),
filled: true,
fillColor: Colors.grey.shade300,
prefixIcon: Icon(Icons.map_rounded)),
hintTextCity: "Choose a city",
hintTextStyleCity: TextStyle(fontSize: 16),
cityDropdownDecoration: InputDecoration(
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(15),
borderSide: BorderSide.none,
),
filled: true,
fillColor: Colors.grey.shade300,
prefixIcon: Icon(Icons.pin_drop_rounded)),
heightBetweenLabelAndField: 10,
heightBetween: 20,
),
],
),
),
),
),
);
}
}
Additional information
More updates coming soon !! Mail me : apurbakhanra09@gmail.com Feel free to suggest any changes..