CountryPicker is a simple library that can be show a country picker. See the example to see more detail.
Integrating the project is simple a refined all you need to do is follow the below steps
Step 1. Add the JitPack repository to your build file. Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
Step 2. Add the dependency
dependencies {
compile 'com.github.mukeshsolanki:country-picker-android:1.1.9'
}
Once the project has been added to gradle, the dialog can be easily used.
CountryPicker picker = CountryPicker.newInstance("Select Country"); // dialog title
picker.setListener(new CountryPickerListener() {
@Override
public void onSelectCountry(String name, String code, String dialCode, int flagDrawableResID) {
// Implement your code here
}
});
picker.show(getSupportFragmentManager(), "COUNTRY_PICKER");
That's it, all done.
List<Country> countries = Country.getAllCountriesList(); //List of all countries
Country[] countries = Country.COUNTRIES; //Array of all countries sorted by ISO code
Country country = Country.getCountryFromSIM(context); //Get user country based on SIM card
Country country = Country.getCountryByLocale(locale); //Get country based on Locale
Country country = Country.getCountryByName(countryName); //Get country by its name
String name = country.getName();
String code = country.getCode();
int flag = country.getFlag(); // returns android resource id of flag or -1, if none is associated
String dialCode = country.getDialCode();
country.loadFlagByCode(); // attempts to associate flag to country based on its ISO code. Used if you create your own instance of Country.class