EditText输入格式

本文关键字:格式 输入 EditText | 更新日期: 2023-09-27 18:04:39

我想创建一个EditText字段,格式如下:0000 AA.

是否有可能使数字键盘出现在前4个数字,然后自动使一个空间,然后使正常键盘出现?

我如何用c#做到这一点?

有人有主意吗?

EditText输入格式

这应该能奏效:

EditText zipcode = FindViewById<EditText>(Resource.Id.zipcode);
zipcode.InputType = Android.Text.InputTypes.ClassNumber;
bool numberMode = true;
zipcode.TextChanged += (object sender, Android.Text.TextChangedEventArgs e) => {
    if(zipcode.Text.Length == 4){
        if(numberMode){
            numberMode = false;
            zipcode.Text = zipcode.Text + " ";
            zipcode.SetSelection(zipcode.Text.Length);
        }
    }
    if(zipcode.Text.Length > 4){
        numberMode = false;
        zipcode.InputType = Android.Text.InputTypes.ClassText;
    }
    if(zipcode.Text.Length <= 4){
        numberMode = true;
        zipcode.InputType = Android.Text.InputTypes.ClassNumber;
    }
};