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";//16
String card = CardNo.substring(0,6) + "******" + CardNo.substring(12,CardNo.length());
//card输出结果:062414********8830