Jetpackは国コードピッカーを構成する


私は本当にJetpack Composeでアプリケーションを開発して楽しんだ.国コードセレクタパッケージを探していました.それを見つけることができなかったとき、私はそれを自分で準備することにした.あなたの将来のプロジェクトでそれを必要とする可能性があります..だから私はあなたとそれを共有したいです.
リンク242479152
ハイライト
  • 地方の数字ヒント
  • 電話番号VisualTransform (自動番号書式)
  • 自動国認識(SIMカードが挿入されるならばSIMカードによる検出)
  • Textfield による
  • をカスタマイズできます
    言語翻訳を加える
  • 番号は、
  • を加えました
    使用例*
    @Composable
       fun SelectCountryWithCountryCode() {
            val getDefaultLangCode = getDefaultLangCode() // Auto detect language
            val getDefaultPhoneCode = getDefaultPhoneCode() // Auto detect phone code : +90
            var phoneCode by rememberSaveable { mutableStateOf(getDefaultPhoneCode) }
            val phoneNumber = rememberSaveable { mutableStateOf("") }
            var defaultLang by rememberSaveable { mutableStateOf(getDefaultLangCode) }
            var verifyText by remember { mutableStateOf("") }
            var isValidPhone by remember { mutableStateOf(true) }
            Column(
                modifier = Modifier.padding(16.dp)
            ) {
                Text(
                    text = verifyText,
                    fontWeight = FontWeight.Bold,
                    modifier = Modifier
                        .fillMaxWidth()
                        .wrapContentSize(Alignment.Center)
                )
                TogiCountryCodePicker(
                    pickedCountry = {
                        phoneCode = it.countryPhoneCode
                        defaultLang = it.countryCode
                    },
                    defaultCountry = getLibCountries().single { it.countryCode == defaultLang },
                    focusedBorderColor = MaterialTheme.colors.primary,
                    unfocusedBorderColor = MaterialTheme.colors.primary,
                    dialogAppBarTextColor = Color.Black,
                    dialogAppBarColor = Color.White,
                    error = isValidPhone,
                    text = phoneNumber.value,
                    onValueChange = { phoneNumber.value = it }
                )
    
                val fullPhoneNumber = "$phoneCode${phoneNumber.value}"
                val checkPhoneNumber = checkPhoneNumber(
                    phone = phoneNumber.value,
                    fullPhoneNumber = fullPhoneNumber,
                    countryCode = defaultLang
                )
                Button(
                    onClick = {
                        verifyText = if (checkPhoneNumber) {
                            isValidPhone = true
                            "Phone Number Correct"
                        } else {
                            isValidPhone = false
                            "Phone Number is Wrong"
    
                        }
                    },
                    modifier = Modifier.fillMaxWidth()
                        .padding(16.dp)
                        .height(60.dp)
                ) {
                    Text(text = "Phone Verify")
                }
            }
          }
        }
    
    Github