效果图:
主要问题点:
1.如何在点击edittext时不让系统的默认键盘显示出来?
2.如何在点击button后把数字传入到edittext中?
1.如何在点击edittext时不让系统的默认键盘显示出来
网上有很多种方法,自己试过之后都不行,后面在Android源码中找到两种方法;
a.重写edittext 中ontouch方法,直接屏蔽掉MotionEvent.ACTION_UP
if (event.getActionMasked() == MotionEvent.ACTION_UP) {
cancelLongPress();
}
b.重写edittext中的ontouch方法,手动的把按键盘关掉:
public boolean onTouchEvent(MotionEvent event) {
final boolean ret =super.onTouchEvent(event);
final InputMethodManager imm = ((InputMethodManager) getContext()
.getSystemService(Context.INPUT_METHOD_SERVICE));
if (imm != null && imm.isActive(this)) {
imm.hideSoftInputFromWindow(getApplicationWindowToken(), 0);
}
return ret;
}
2.如何在点击button后把数字传入到edittext中
这个相对比较简单,在button的onclick方法中,把相应的字符插入到edittext中:
public void onClick(View view) {
// TODO Auto-generated method stub
if (view instanceof Button) {
String text = ((Button) view).getText().toString();
int cursor=mEditText.getSelectionStart();
mEditText.getText().insert(cursor,text);
}
}