Android 完美實現手機號344格式化效果

2021-08-16 10:11:48 字數 1417 閱讀 2698

在展示手機號碼的時候,會遇到手機號按照344格式效果,這種效果的實現遇到過兩次了,也踩過了許多的坑,在這裡記錄一下乙個完美實現這種效果的方式。輸入、插入、刪除等游標位置停留比較好的互動效果。

// 特殊下標位置

private static final int phone_index_3 = 3;

private static final int phone_index_4 = 4;

private static final int phone_index_8 = 8;

private static final int phone_index_9 = 9;

public zpphoneedittext(context context)

public zpphoneedittext(context context, attributeset attrs)

public zpphoneedittext(context context, attributeset attrs, int defstyleattr)

@override

public void beforetextchanged(charsequence s, int start, int count, int after)

@override

public void ontextchanged(charsequence s, int start, int before, int count)

stringbuilder sb = new stringbuilder();

for (int i = 0; i < s.length(); i++) else }}

if (!sb.tostring().equals(s.tostring())) else

} else

}settext(sb.tostring());

setselection(index);}}

@override

public void aftertextchanged(editable s)

// 獲得不包含空格的手機號

public string getphonetext()

private string replaceblank(string str)

}return dest;

}} 布局xml

<?xml version="1.0" encoding="utf-8"?>

應用

private zpphoneedittext etphone;

private button btnphone;

private void initview()

});}

效果槓槓的,**比較完整,親自嘗試一下比較好。。。

Android 獲取手機的手機號

1.獲取手機號 telephonymanager telephonymanager telephonymanager getsystemservice context.telephony service string line1number telephonymanager.getline1numb...

手機號判斷

public class smsutil toast.maketext activity,手機號碼輸入有誤!toast.length short show return false 驗證手機格式 public static boolean ismobileno string mobilenums 1...

手機號隱藏

多的不說,直接上demo string phone 12345678983 phone.replaceall d d d 1 2 利用string自帶的replaceall方法進行替換達到隱藏效果,此方法的第乙個引數為分組正規表示式 引數注釋 按照上面demo中替換後的手機號為 123 983 注意...