/country-picker-android

A simple library that displays a beautiful list of all the countries allowing the user to pick the country he wishes and provide details like country code, iso code name,currency and flag.

Primary LanguageJavaApache License 2.0Apache-2.0

Country Picker for Android

License

CountryPicker is a simple library that can be show a country picker. See the example to see more detail.

How to use

Integration

Integrating and using the project is simple 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:<latest-version>'
}

Usage

Once the project has been added to gradle, You can use the builder to configure and display it as a dialog.

CountryPicker countryPicker =
    new CountryPicker.Builder().with(context)
        .listener(new OnCountryPickerListener() {
          @Override public void onSelectCountry(Country country) {
            //DO something here
          }
        })
        .build();


countryPicker.showDialog(getSupportFragmentManager()); // Show the dialog

That's it, all done.

Generic operations with countries

countryPicker.setCountries(List<Country> countries); //Set custom list of countries
List<Country> countries = countryPicker.getAllCountries(); //List of all countries
Country country = countryPicker.getCountryFromSIM(context); //Get user country based on SIM card
Country country = countryPicker.getCountryByLocale(locale); //Get country based on Locale
Country country = countryPicker.getCountryByName(countryName); //Get country by its name
Country country = countryPicker.getCountryByISO(); //Get country by its ISO code

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();
String currency = country.getCurrency();

country.loadFlagByCode();  // attempts to associate flag to country based on its ISO code. Used if you create your own instance of Country.class

Author

Maintained by Mukesh Solanki

Contribution

GitHub contributors

License

Copyright 2018 Mukesh Solanki

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.