InputMethodManager m = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);m .hideSoftInputFromWindow(xxxx.getWindowToken(), 0);//比如EditView或者是:
Android:windowSoftInputMode="stateHidden
表示打开activity隐藏输入法。
2、//显示软键盘,控件ID可以是EditText,TextView
((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).showSoftInput(控件ID, 0);3、不自动弹出键盘:
public class HomeActivity extends Activity {......@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) {if (ev.getAction() == MotionEvent.ACTION_DOWN) { // 获得当前得到焦点的View,一般情况下就是EditText(特殊情况就是轨迹求或者实体案件会移动焦点) View v = getCurrentFocus(); if (isShouldHideInput(v, ev)) { hideSoftInput(v.getWindowToken()); }}return super.dispatchTouchEvent(ev);}/*** 根据EditText所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘,因为当用户点击EditText时没必要隐藏** @param v* @param event* @return*/private boolean isShouldHideInput(View v, MotionEvent event) {if (v != null && (v instanceof EditText)) { int[] l = { 0, 0 }; v.getLocationInWindow(l); int left = l[0], top = l[1], bottom = top + v.getHeight(), right = left+ v.getWidth(); if (event.getX() > left && event.getX() < right&& event.getY() > top && event.getY() < bottom) { // 点击EditText的事件,忽略它。 return false; } else { return true; }}// 如果焦点不是EditText则忽略,这个发生在视图刚绘制完,第一个焦点不在EditView上,和用户用轨迹球选择其他的焦点return false;}/*** 多种隐藏软件盘方法的其中一种** @param token*/private void hideSoftInput(IBinder token) {if (token != null) { InputMethodManager im = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); im.hideSoftInputFromWindow(token,InputMethodManager.HIDE_NOT_ALWAYS);}}...... }以上所述是小编给大家介绍的Android 点击屏幕空白处收起输入法软键盘(手动打开),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!