Android 键盘相关常见问题有:
-
限制输入框内字数,超过字数不让输入,并且提示
-
点击外部区域键盘自动收起
-
如何获取键盘高度
下面将对上述问题各个击破。
1.限制输入框内字数,超过字数不让输入,并且提示
etReply.setFilters(new InputFilter[]{new InputFilter(){
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
if (source.length() + dest.length() > COMMENT_MAX_NUM) {
Crouton.makeText(AppUtils.getString(R.string.infodetail_comment_limit),Style.ALERT).show();
}
return null;
}
}, new InputFilter.LengthFilter(COMMENT_MAX_NUM)});
2. 点击外部区域键盘自动收起
如果当前页面是Activity那么可以直接重写dispatchTouchEvent
方法。在ACTION_DOWN
事件时,判断点击的坐标是否在输入框坐标的上面,如果是那么调用隐藏键盘的方法。
如果当前页面是Fragment,那么Fragment中增加一个dispatchTouchEvent
方法,内部逻辑同上