Searchable country picker widget ready to use in a dialog, bottom sheet and even in full screen!
1: Import the plugin using
import 'package:country_calling_code_picker/picker.dart';
2: Initialize your UI using default country.
void initCountry() async {
final country = await getDefaultCountry(context);
setState(() {
_selectedCountry = country;
});
}
3: Use utility function showCountryPickerSheet to show a bottom sheet picker.
void _showCountryPicker() async{
final country = await showCountryPickerSheet(context,);
if (country != null) {
setState(() {
_selectedCountry = country;
});
}
}
4: Use utility function showCountryPickerDialog to show a dialog.
void _showCountryPicker() async{
final country = await showCountryPickerDialog(context,);
if (country != null) {
setState(() {
_selectedCountry = country;
});
}
}
5: CountryPickerWidget can be used for showing in a full screen.
class PickerPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Select Country'),
),
body: Container(
child: CountryPickerWidget(
onSelected: (country) => Navigator.pop(context, country),
),
),
);
}
}
- If you just need the list of countries for making your own custom country picker, you can all getCountries() which returns list of countries.
List<Country> list = await getCountries(context);
- If you want to get flag from the country code, you can use below method to get country using the country code. Eg. for getting India's flag,
Country country = await getCountryByCountryCode(context, 'IN');