Files
coco 723ce1af5c a
2026-07-03 15:12:48 +08:00
..
a
2026-07-03 15:12:48 +08:00
a
2026-07-03 15:12:48 +08:00
a
2026-07-03 15:12:48 +08:00
a
2026-07-03 15:12:48 +08:00
a
2026-07-03 15:12:48 +08:00
a
2026-07-03 15:12:48 +08:00
a
2026-07-03 15:12:48 +08:00
a
2026-07-03 15:12:48 +08:00
a
2026-07-03 15:12:48 +08:00
a
2026-07-03 15:12:48 +08:00
a
2026-07-03 15:12:48 +08:00
a
2026-07-03 15:12:48 +08:00
a
2026-07-03 15:12:48 +08:00

Jetpack Compose Country Code Picker

Jetpack Compose Country Code Picker

Buy Me A Coffee

Updated

If you are looking for Country Phone Code Picker for Jetpack Compose you can use the package.

  • Country numbers hints
  • Phone number visualTransformation (Automatic number formatting)
  • Automatic country recognition (detection by sim card if sim card is inserted)
  • With TextField
  • Can Customize
  • Added language translations
  • Added clear text button
  • Dialog changed

Languages:

  • Turkish
  • English
  • Italian
  • Arabic
  • Russian
  • Dutch

USAGE

@Composable
 CountryTextField(
                label = stringResource(R.string.select_country_text),
                modifier = Modifier
                    .padding(top = 50.dp)
                    .align(Alignment.TopCenter),
                expanded = expanded,
                selectedCountry = selectedCountry,
                defaultSelectedCountry = countryList(LocalContext.current).single { it.code == "IN" }
            ) {
	    
	    }

EXAMPLE

    Box {
        var expanded by remember { mutableStateOf(false) }
        var selectedCountry by remember { mutableStateOf<Country?>(null) }
        val focusManager = LocalFocusManager.current

        CountryPickerBottomSheet(title = {
            Text(
                modifier = Modifier
                    .fillMaxWidth()
                    .padding(16.dp),
                text = "Select Country", textAlign = TextAlign.Center,
                fontWeight = FontWeight.Bold,
                fontSize = 20.sp
            )
        }, expanded, onDismissRequest = {
            expanded = false
        }, onItemSelected = {
            selectedCountry = it
            expanded = false
            focusManager.clearFocus()
        }) {
            CountryTextField(
                label = "Select country",
                modifier = Modifier
                    .padding(top = 50.dp)
                    .align(Alignment.TopCenter),
                expanded,
                defaultSelectedCountry = countryList(LocalContext.current).single { it.code == "IN" },
                selectedCountry
            ) {
                expanded = !expanded
            }

        }

    }

Functions

getFullPhoneNumber() => Phone number with country code => return type String
getOnlyPhoneNumber() => Phone number only => return type String
isPhoneNumber() => Checks if the phone number is correct based on the country code => return type Boolean/

How to add in your project

To get a Git project into your build:
Step 1. Add the JitPack repository to your build file

Gradle

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 {
	        implementation 'com.github.codewith-fun:Country-Code-picker:0.1.1'
	}

Maven

Add it in your root build.gradle at the end of repositories:

<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Step 2.

Add the dependency

<dependency>
	    <groupId>com.github.codewith-fun</groupId>
	    <artifactId>Country-Code-picker</artifactId>
	    <version>0.1.1</version>
	</dependency>

sbt

Add it in your root build.gradle at the end of repositories:

resolvers += "jitpack" at "https://jitpack.io"

Step 2.

Add the dependency

libraryDependencies += "com.github.codewith-fun" % "Country-Code-picker" % "0.1.1"	

leiningen

Add it in your root build.gradle at the end of repositories:

 :repositories [["jitpack" "https://jitpack.io"]]

Step 2.

Add the dependency

	:dependencies [[com.github.codewith-fun/Country-Code-picker "0.1.1"]]	

License

Apache Version 2.0

Copyright (C) 2022 Codewith-fun

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.