編輯:關於Android編程
微信轉賬輸入框規則(可能不全)
1、小數點後兩位
2、起始輸入小數點,顯示0.
3、刪除到第一個位置是小數點的時候,第一個位置為0 ,避免出現小數點在第一個位置的情況
修改這個朋友的規則而來,他的規則在保證小數點後兩位有個小bug,已經修改
http://www.jb51.net/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實戰--英文詞典(API+GSON+Volley)
轉載請注明出處,喜歡我的可以關注我!上一節我們介紹了GSON和Volley,用GSON對返回的數據進行了初步解析,這一節我們更進一步,討論一下如何實現英文詞典。首先把JS
淺談主流熱修復技術
熱修復 熱修復作為當下熱門的技術,在業界內比較著名的有阿裡巴巴的AndFix、Dexposed,騰訊QQ空間的超級補丁技術和微信的Tinker。最近阿裡百川推出的HotF
Android開發中的APP內存洩漏檢測
使用android shell命令查看內存使用情況使用adb shell dumpsys meminfo pkgname或者直接使用AndroidStudio裡面的mem
Android中使用自定義的view實現圓形圖片的效果
今天給大家講的是怎麼在xml文件找中通過引用自定義的view實現ImageView的圓形圖片效果。首先在你的項目中新建一個類,我給它命名為:CircleImageView