如何使用PhoneNumberUtils格式化电话号码?
例如:1234567890→(123) 456-7890
我有一个EditText视图,我希望它将用户的输入格式化为电话号码格式.例如,当用户键入1234567890时,EditText视图应在输入前3个数字后立即动态显示为"(123)456-7890".
我在OnCreate中尝试了以下内容,但它似乎对我没有任何作用......
EditText ET = (EditText) findViewById(R.id.add_number);
ET.addTextChangedListener(new PhoneNumberFormattingTextWatcher());
Run Code Online (Sandbox Code Playgroud)
如何让用户的输入以电话号码格式显示?
format android string-formatting phone-number android-edittext
我有一个文本字段,其中不能超过 10 个字符,并且要求用户以“mm/dd/yyyy”格式输入日期。每当用户键入前 2 个字符时,我都会附加“/”,当用户键入接下来的 2 个字符时,我会再次附加“/”。
为了实现这一目标,我做了以下操作:
var maxCharDate = 10
TextField(
value = query2,
onValueChange = {
if (it.text.length <= maxCharDate) {
if (it.text.length == 2 || it.text.length == 5)
query2 = TextFieldValue(it.text + "/", selection = TextRange(it.text.length+1))
else
query2 = it
}
emailErrorVisible.value = false
},
label = {
Text(
"Date of Birth (mm/dd/yyyy)",
color = colorResource(id = R.color.bright_green),
fontFamily = FontFamily(Font(R.font.poppins_regular)),
fontSize = with(LocalDensity.current) { dimensionResource(id = R.dimen._12ssp).toSp() })
},
.
.
.
Run Code Online (Sandbox Code Playgroud)
它正在工作,只是附加的“/”在按退格键时不会被删除,而其他字符会被删除。
如何使按退格键时“/”也被删除?
android textfield android-jetpack-compose android-compose-textfield
在我的应用程序中,我有一个editText,它将接受来自用户的电话号码,我的目标是,一旦用户输入电话号码就应该格式化(如通过应用文本更改的监听器),格式就好XXX-XXX-XXXX.
我把代码编写为
ePhone.addTextChangedListener(new TextWatcher() {
private Pattern pattern;
private Matcher matcher;
String a;
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
boolean flag = true;
if (flag) {
if (((ePhone.getText().length() + 1) % 4) == 0)
{
if (ePhone.getText().toString().split("-").length <= 2)
{
ePhone.setText(ePhone.getText() + "-");
ePhone.setSelection(ePhone.getText().length());
}
}
a = ePhone.getText().toString();
} else {
ePhone.setText(a);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) { …Run Code Online (Sandbox Code Playgroud) 在RelativeLayout我有一个TextInputLayout地方EditText可以输入电话号码,还有Textview一个LinearLayout地方可以显示国家/地区代码。当我们开始输入“TextInputLayout”时,滑动到顶部,但我希望它滑动到如图 3 所示的位置。
我遇到了这方面的问题有人可以帮助我吗?这是我的代码:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/error_mobile_no"
android:layout_alignTop="@+id/error_mobile_no"
android:layout_alignBottom="@+id/error_mobile_no"
android:layout_marginTop="0dp"
android:layout_marginBottom="0dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/country_code_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/lorin_regular"
android:text="+971"
android:layout_marginBottom="2dp"
android:textColor="@color/black"
android:textSize="14sp" />
</LinearLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/error_mobile_no"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="20dp"
android:layout_marginStart="20dp"
app:errorEnabled="true">
<EditText
android:id="@+id/etPhoneNumberDetailedActivity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:autofillHints=""
android:paddingStart="35dp"
android:backgroundTint="#6283a3"
android:fontFamily="@font/lorin_regular"
android:hint="@string/mobile_number"
android:inputType="phone"
android:textColor="@color/black"
android:textColorHint="#6283a3" android:textSize="14sp" />
</com.google.android.material.textfield.TextInputLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
android android-textinputlayout material-components material-components-android