ola_like_country_picker 0.0.5 ola_like_country_picker: ^0.0.5 copied to clipboard
A new Flutter package for country picker. ola_like_country_picker provides a bottom sheet allowing a user to select a country from a list. It display a flag and dialcode along with country name.
Ola Like Country Picker #
A new country picker Flutter package built in Dart.
Introduction #
It is Flutter plug-n-play country picker package.
- To use the Country Picker without any complexity look at the example below :
Example Usage: #
class _MyHomePageState extends State<MyHomePage> {
CountryPicker countryPicker;
Country country = Country.fromJson(countryCodes[0]); // select initial country
@override
void initState() {
super.initState();
countryPicker = CountryPicker(onCountrySelected: (Country country) {
print(country);
setState(() {
this.country = country;
});
});
}
@override
Widget build(BuildContext context) {
// To simply launch the country picker
// use countryPicker.launch(context)
// to forcefully dismiss use countryPicker.dismiss()
// simple example could be
return GestureDetector(
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image:
AssetImage(country.flagUri, package: 'ola_like_country_picker'),
),
),
),
onTap: () {
c.launch(context);
},
);
}
}
Output #
- To simply use country list view any where use CountryListView() and to modify attributes like flagWidth, flagHeight, countryTitle style etc use below arguments like
CountryListView(flagWidth:50, flagHeight:50 , itemTitleStyle: TextStyle(fontSize:20));
Example Usage: #
return MaterialApp(
theme: ThemeData(primarySwatch: Colors.purple),
home: Scaffold(
appBar: AppBar(
title: Text('Select Country'),
),
body: CountryListView(),
),
);
Output #
Parameters #
parameter | default | required | type | remark |
---|---|---|---|---|
countryJsonList | country_codes | no | List<Map<String, String>> | can be used to specify own set of sublist of countries from the variable country_codes |
flagWidth | 25 | no | double | width of flag |
flagHeight | 25 | no | double | height of flag |
showFlag | true | no | bool | whether to show flag or not |
showDialCode | true | no | bool | whether to show dial code or not |
dialCodePrefix | '+' | no | String | The prefix added to the dial code for e.g +91 here prefix is '+' |
itemTitleStyle | null | no | TextStyle | Used to change style of Country title e.g TextStyle(fontSize:30) |
dialCodeStyle | null | no | TextStyle | Used to change style of Country's dial code e.g TextStyle(backgroundColor:Colors.green[400]) |
onSelected | null | no | OnCountrySelectedCallback | When Any Country is selected what callback has to be executed e.g CountryListView(onSelected: (Country country){ print(country.toString() }); |
- To use the own version of CountryListView() with CountryPicker() use setCountryListView() method before calling launch() e.g.
c = CountryPicker(onCountrySelected: (Country country) {
print(country);
setState(() {
this.country = country;
});
});
CountryListView clv = CountryListView(showFlag:false); //own version of CountryListView
c.setCountryListView(clv);
...
...
// Call c.launch(context) in GestureDetector() or other listeners
...
...