Android 高仿微信轉賬金錢輸入框規(guī)則
更新時間:2016年12月07日 13:46:04 作者:按勞分配
這篇文章主要介紹了Android 高仿微信金錢輸入框規(guī)則的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
微信轉賬輸入框規(guī)則(可能不全)
1、小數點后兩位
2、起始輸入小數點,顯示0.
3、刪除到第一個位置是小數點的時候,第一個位置為0 ,避免出現小數點在第一個位置的情況
修改這個朋友的規(guī)則而來,他的規(guī)則在保證小數點后兩位有個小bug,已經修改
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){//保證小數點不在第一個位置
return "0";
}
return "";
}
Matcher matcher = mPattern.matcher(source);
//已經輸入小數點的情況下,只能輸入數字
if(destText.contains(POINTER)) {
if (!matcher.matches()) {
return "";
} else {
if (POINTER.equals(source)) { //只能輸入一個小數點
return "";
}
}
//驗證小數點精度,保證小數點后只能輸入兩位
int index = destText.indexOf(POINTER);
int length = destText.trim().length() - index;
if (length > POINTER_LENGTH&&dstart>index) {
return "";
}
} else {
//沒有輸入小數點的情況下,只能輸入小數點和數字,但首位不能輸入小數點和0
if (!matcher.matches()) {
return "";
} else {
if ((POINTER.equals(source)) && dstart==0) {//第一個位置輸入小數點的情況
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
Android為textView設置setText的時候報錯的講解方案
今天小編就為大家分享一篇關于Android為textView設置setText的時候報錯的講解方案,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
詳解Android中PopupWindow在7.0后適配的解決
本篇文章主要介紹了詳解Android中PopupWindow在7.0后適配的解決,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05
Android開發(fā)Popwindow仿微信右上角下拉菜單實例代碼
這篇文章主要介紹了Popwindow仿微信右上角下拉菜單實例代碼的相關資料,非常不錯具有參考借鑒價值,感興趣的朋友一起看看吧2016-10-10

