android:focusableInTouchMode="true"
首先看上面这句代码,只需要加在包裹EditText组件的父布局里面就可以实现取消默认得到焦点光标的操作。
// 触摸屏幕取消EditText的焦点光标
rel.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
// rel.setFocusable(true);
// 如果xml文件里面没设置,就需要在这里设置
// rel.setFocusableInTouchMode(true);
rel.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(et1.getWindowToken(), 0);
return false;
}
});
其次看上面这第二段代码,这是在针对你屏幕中最大的布局写的,在触摸这个布局的时候就会去请求焦点,里面有注释的两行代码,其中第一行我感觉是没用的,不知道会不会是因为手机问题,如果你的手机复制这样的代码实现不了效果,建议你加一下那句代码试试。 下面两行是隐藏键盘的,et1是一个EditText。