本文共 2761 字,大约阅读时间需要 9 分钟。
1,EditText获取焦点并显示软键盘
/** * EditText获取焦点并显示软键盘 */ public static void showSoftInputFromWindow(Activity activity, EditText editText) { InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE); //获取软键盘焦点 editText.setFocusable(true); editText.setFocusableInTouchMode(true); editText.requestFocus(); //editText光标在末尾位置 editText.setSelection(editText.getText().length()); //显示软键盘 if (imm != null && editText != null) { editText.postDelayed(new Runnable() { @Override public void run() { imm.showSoftInput(editText, 0); } }, 200); } }
2,Textview字间距
//xml布局设置android:letterSpacing="0.1"
3,EditText输入监听判断不大于
//设置价钱文本框输入监听事件binding.editMoney.addTextChangedListener(textWatcher); TextWatcher textWatcher = new TextWatcher() { private CharSequence temp;//用于记录当前正在输入文本的个数 // 输入文本之前的状态 @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } // 输入文本中的状态 @Override public void onTextChanged(CharSequence s, int start, int before, int count) { temp = s; } // 输入文本之后的状态 @Override public void afterTextChanged(Editable s) { int editStart = binding.editMoney.getSelectionStart();// 光标开始位置 int editEnd = binding.editMoney.getSelectionEnd();// 光标结束位置 if (!TextUtils.isEmpty(temp.toString())){ if (Double.parseDouble(temp.toString()) > 9999999.99) { s.delete(editStart - 1, editEnd);// money = String.format("%.2f", Double.parseDouble(s.toString()));// Log.i("TAG", "money: " + money); binding.editMoney.setText(s.toString()); binding.editMoney.setSelection(s.length()); } } Log.i("TAG", "现在的值: " + s.toString()); } };
4,处理倒计时
Handler handler = new Handler();private int time = 5;//倒计时五秒//onCreate调用handler.postDelayed(runnable, 0);//处理倒计时private final Runnable runnable = new Runnable() { @SuppressLint("SetTextI18n") public void run() { binding.tvFinishTime.setText(String.format("确认( %ss )", time)); handler.postDelayed(this, 1000); if (time == 0) { //倒计时完成 执行操作 handler.removeCallbacks(runnable); } time--;//会在这里在减去1 }};
5,银行卡号,四位数间距
String splitStr= “8888888888888888”.replaceAll("\\d{4}(?!$)", "$0 ");
6,银行卡号,中间几位加密代替
String CardNo = "0624144312248830";//16String card = CardNo.substring(0,6) + "******" + CardNo.substring(12,CardNo.length());//card输出结果:062414********8830
转载地址:http://fkqwz.baihongyu.com/