EditText所在的布局或是root布局设置
android:focusable="true"
android:focusableInTouchMode="true"
EditText设置焦点变化时隐藏或显示输入法界面
EditText editText= (EditText) findViewById(R.id.search_text);
editText.setOnFocusChangeListener(new android.view.View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus)
{
InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
if (hasFocus)
{
imm.showSoftInput(editText, 0);// 此处为得到焦点时的处理内容
}
else
{
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);// 此处为失去焦点时的处理内容
}
}
});
在不可点击处使EditText失去焦点
.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
editText.clearFocus();
return false;
}
});
在可点击处使EditText失去焦点
.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
editText.clearFocus();
// 下面处理点击事件
}
}) ;