1. Add dependency
2. Decide your use-case
Default Country Picker View
i. add following to your XML layout <com.hbb20.CountryPickerView
android:id="@+id/countryPicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
ii. 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.
}
ii. Read More about Country Picker View and available configuration
Custom Country Picker View
i. Read how to create your Custom Country Picker View
Launch Country Picker Dialog
i. add following to your Activity/Fragment context.launchCountryPickerDialog { selectedCountry: CPCountry? ->
// your code to handle selected country
}
ii. Read More about CountryPicker Dialog and available configuration
Load countries in RecyclerView
i. add following to your Activity/Fragment recyclerView.loadCountries { selectedCountry: CPCountry ->
// your code to handle selected country
}
ii. Read More about Country List and available configuration
Credits
- ip2Location for country data
- Airbnb for Epoxy Recycler View library