最近开发Android软件登录界面的时候,遇到了输入法不能随着用户点击文本框区域外而关闭的问题,这样用户体验很差,于是我就上网查了下资料,并且把它写到了一个工程里面。以便于帮助大家,顺便为自己做笔记。话不多说,下面就是主要的代码:
源码:
public class MainActivity extends Activity {
RelativeLayout relativeLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
relativeLayout =(RelativeLayout)findViewById(R.id.layout);
relativeLayout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
HideKeyboard();
}
});
}
private void HideKeyboard()//隐藏虚拟键盘
{
InputMethodManager inputMethodManager(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);//直接关闭打开的输入法,没开就不管
inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);//输入法关闭则打开,打开则关闭 inputMethodManager.hideSoftInputFromWindow(MainActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);//直接关闭打开的输入法,没开就不管
}
}