An android countrypicker library:
Here is the demo screenshot of this library in use:
Step 1. Add dependency
Add in your app/build.gradle
:
dependencies {
implementation 'com.hbb20:android-country-picker:X.Y.Z'
}
Step 2: Add to Layout
For the Default Country Picker View add following to your XML layout:
<com.hbb20.CountryPickerView
android:id="@+id/countryPicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Step 2: Write Code
Modify view / dialog / list config in activity or fragment:
private fun setupCountryPickerView() {
val countryPicker = findViewById<CountryPickerView>(R.id.countryPicker)
// Modify CPViewConfig if you need. Access cpViewConfig through cpViewHelper
countryPicker.cpViewHelper.cpViewConfig.viewTextGenerator = { cpCountry: CPCountry ->
"${cpCountry.name} (${cpCountry.alpha2})"
}
// make sure to refresh view once view configuration is changed
countryPicker.cpViewHelper.refreshView()
// Modify CPDialogConfig if you need. Access cpDialogConfig through countryPicker.cpViewHelper
// countryPicker.cpViewHelper.cpDialogConfig.
// Modify CPListConfig if you need. Access cpListConfig through countryPicker.cpViewHelper
// countryPicker.cpViewHelper.cpListConfig.
// Modify CPRowConfig if you need. Access cpRowConfig through countryPicker.cpViewHelper
// countryPicker.cpViewHelper.cpRowConfig.
}
To Launch Country Picker Dialog add following to your Activity/Fragment:
context.launchCountryPickerDialog { selectedCountry: CPCountry? ->
// your code to handle selected country
}
To Load countries in RecyclerView add following to your Activity/Fragment:
recyclerView.loadCountries { selectedCountry: CPCountry ->
// your code to handle selected country
}
Reference
Read More about Country Picker View and available configuration.