Skip to content
Harsh B. Bhakta edited this page Jun 22, 2021 · 3 revisions

To add Android Country Picker library to your project, do following:

1. Add dependency

  •     dependencies {
          implementation 'com.hbb20:AndroidCountryPicker:X.Y.Z'
         }
  • For latest version, Add

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

Clone this wiki locally