CountryPicker is a simple fragment that can be embedded or shown as dialog. See the example to see more detail.
The functions are simple:
-
Allow user to search the country
-
Inform client which country user has selected
-
Convenient function to get currency code of the selected country
Define jitpack.io as a repository
repositories {
// ...
maven { url 'https://jitpack.io' }
// ...
}
Include country picker
dependencies {
// ...
compile 'com.github.Damacustas:AndroidCountryPicker:1.0.5'
// ...
}
To use CountryPicker in your code as a fragment:
FragmentTransaction transaction = getFragmentManager().beginTransaction();
CountryPicker picker = new CountryPicker();
transaction.replace(R.id.home, picker);
transaction.commit();
To show CountryPicker as a dialog:
CountryPicker picker = CountryPicker.newInstance("Select Country");
picker.show(getFragmentManager(), "COUNTRY_PICKER");
When user selects a country, client can listen to that event:
picker.setListener(new CountryPickerListener() {
@Override
public void onSelectCountry(String name, String code) {
// Invoke your function here
}
});
To receive the data that the picker uses:
CountryProvider countryProvider = new CountryProvider(context);
Country de = countryProvider.getCountryByCode("DE"); // ignores case
Log.d(de.getName()) // Germany
List<Country> countries = countryProvider.getCountries();
The data is from CountryPicker by nicklockwood (https://github.com/nicklockwood/CountryPicker)
I converted his data in "Countries.plist" to json format to avoid extra dependency.
Thanks Nick for his awesome library!
See LICENSE.md