@@ -20,49 +20,68 @@ If you are looking for Country Phone Code Picker for Jetpack Compose you can use
2020 // With Country Phone Code
2121 @Composable
2222 fun SelectCountryWithCountryCode () {
23- var selectedCountry by rememberSaveable { mutableStateOf(getDefaultCountryCode(this )) }
23+ val getDefaultLangCode = getDefaultLangCode() // Auto detect language
24+ val getDefaultPhoneCode = getDefaultPhoneCode() // Auto detect phone code : +90
25+ var phoneCode by rememberSaveable { mutableStateOf(getDefaultPhoneCode) }
2426 val phoneNumber = rememberSaveable { mutableStateOf(" " ) }
25- var defaultCountry by rememberSaveable { mutableStateOf(getDefaultCountry(this ))}
27+ var defaultLang by rememberSaveable { mutableStateOf(getDefaultLangCode) }
28+ var verifyText by remember { mutableStateOf(" " ) }
29+ var isValidPhone by remember { mutableStateOf(true ) }
30+ Column (
31+ modifier = Modifier .padding(16 .dp)
32+ ) {
33+ Text (
34+ text = verifyText,
35+ fontWeight = FontWeight .Bold ,
36+ modifier = Modifier
37+ .fillMaxWidth()
38+ .wrapContentSize(Alignment .Center )
39+ )
40+ TogiCountryCodePicker (
41+ pickedCountry = {
42+ phoneCode = it.countryPhoneCode
43+ defaultLang = it.countryCode
44+ },
45+ defaultCountry = getLibCountries().single { it.countryCode == defaultLang },
46+ focusedBorderColor = MaterialTheme .colors.primary,
47+ unfocusedBorderColor = MaterialTheme .colors.primary,
48+ dialogAppBarTextColor = Color .Black ,
49+ dialogAppBarColor = Color .White ,
50+ error = isValidPhone,
51+ text = phoneNumber.value,
52+ onValueChange = { phoneNumber.value = it }
53+ )
2654
27- TogiCountryCodePicker (
28- pickedCountry = {
29- selectedCountry = it.countryPhoneCode
30- defaultCountry = it.countryCode
55+ val fullPhoneNumber = " $phoneCode${phoneNumber.value} "
56+ val checkPhoneNumber = checkPhoneNumber(
57+ phone = phoneNumber.value,
58+ fullPhoneNumber = fullPhoneNumber,
59+ countryCode = defaultLang
60+ )
61+ Button (
62+ onClick = {
63+ verifyText = if (checkPhoneNumber) {
64+ isValidPhone = true
65+ " Phone Number Correct"
66+ } else {
67+ isValidPhone = false
68+ " Phone Number is Wrong"
3169
32- },
33- defaultCountry = getLibCountries().single { it.countryCode == defaultCountry },
34- dialogAppBarTextColor = Color .Black ,
35- dialogAppBarColor = Color .White ,
36- text = phoneNumber.value,
37- onValueChange = { phoneNumber.value = it }
38- )
70+ }
71+ },
72+ modifier = Modifier .fillMaxWidth()
73+ .padding(16 .dp)
74+ .height(60 .dp)
75+ ) {
76+ Text (text = " Phone Verify" )
77+ }
78+ }
79+ }
3980
4081 }
4182```
4283
4384
44- ``` kotlin
45- // Without Country Phone Code
46- @Composable
47- fun SelectCountryWithoutCountryCode () {
48- var selectedCountry by rememberSaveable { mutableStateOf(getDefaultCountryCode(this )) }
49- val phoneNumber = rememberSaveable { mutableStateOf(" " ) }
50- var defaultCountry by rememberSaveable { mutableStateOf(getDefaultCountry(this ))}
51-
52- TogiCountryCodePicker (
53- pickedCountry = {
54- selectedCountry = it.countryPhoneCode
55- defaultCountry = it.countryCode
56- },
57- defaultCountry = getLibCountries().single { it.countryCode == defaultCountry},
58- showCountryCode = false ,
59- text = phoneNumber.value,
60- onValueChange = { phoneNumber.value = it }
61- )
62-
63- Text (text = " Number with * : $selectedCountry${phoneNumber.value} " )
64- }
65- ```
6685
6786 <h3 ><- ********* Extras ********* -></h3 >
6887
@@ -99,6 +118,7 @@ Step 2. Add the dependency
99118
100119<br >
101120<div class =" row " >
121+ <img src="screenshots/error.gif" width="300">
102122 <img src="screenshots/shot_screen.gif" width="300">
103123 <img src =" screenshots/1.jpg " width =" 300 " >
104124 <img src =" screenshots/2.jpg " width =" 300 " >
0 commit comments