Android 高仿微信轉(zhuǎn)賬金錢輸入框規(guī)則
微信轉(zhuǎn)賬輸入框規(guī)則(可能不全)
1、小數(shù)點后兩位
2、起始輸入小數(shù)點,顯示0.
3、刪除到第一個位置是小數(shù)點的時候,第一個位置為0 ,避免出現(xiàn)小數(shù)點在第一個位置的情況
修改這個朋友的規(guī)則而來,他的規(guī)則在保證小數(shù)點后兩位有個小bug,已經(jīng)修改
http://www.dbjr.com.cn/article/99361.htm
效果:
@Override public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { String sourceText = source.toString(); String destText = dest.toString(); //驗證刪除等按鍵 if (TextUtils.isEmpty(sourceText)) { if(dstart==0&&destText.indexOf(POINTER)==1){//保證小數(shù)點不在第一個位置 return "0"; } return ""; } Matcher matcher = mPattern.matcher(source); //已經(jīng)輸入小數(shù)點的情況下,只能輸入數(shù)字 if(destText.contains(POINTER)) { if (!matcher.matches()) { return ""; } else { if (POINTER.equals(source)) { //只能輸入一個小數(shù)點 return ""; } } //驗證小數(shù)點精度,保證小數(shù)點后只能輸入兩位 int index = destText.indexOf(POINTER); int length = destText.trim().length() - index; if (length > POINTER_LENGTH&&dstart>index) { return ""; } } else { //沒有輸入小數(shù)點的情況下,只能輸入小數(shù)點和數(shù)字,但首位不能輸入小數(shù)點和0 if (!matcher.matches()) { return ""; } else { if ((POINTER.equals(source)) && dstart==0) {//第一個位置輸入小數(shù)點的情況 return "0."; } } } //驗證輸入金額的大小 double sumText = Double.parseDouble(destText + sourceText); if (sumText > MAX_VALUE) { return dest.subSequence(dstart, dend); } return dest.subSequence(dstart, dend) + sourceText; }
EditText樣式
<EditText android:id="@+id/et" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="20sp" android:maxLength="10" android:inputType="numberDecimal" />
設置filter
EditText ed = (EditText) findViewById(R.id.et); InputFilter[] is = {new CashierInputFilter()}; ed.setFilters(is);
源碼
相關文章
Android Studio使用ButterKnife和Zelezny的方法
這篇文章主要為大家詳細介紹了Android Studio使用ButterKnife和Zelezny的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04基于Android6.0實現(xiàn)彈出Window提示框
這篇文章主要為大家詳細介紹了基于Android6.0實現(xiàn)彈出Window提示框,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10Android為textView設置setText的時候報錯的講解方案
今天小編就為大家分享一篇關于Android為textView設置setText的時候報錯的講解方案,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03詳解Android中PopupWindow在7.0后適配的解決
本篇文章主要介紹了詳解Android中PopupWindow在7.0后適配的解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05Android開發(fā)Popwindow仿微信右上角下拉菜單實例代碼
這篇文章主要介紹了Popwindow仿微信右上角下拉菜單實例代碼的相關資料,非常不錯具有參考借鑒價值,感興趣的朋友一起看看吧2016-10-10