不自动弹出软键盘
有时进入Activity后不希望系统自动弹出软键盘,我们可以按照下面的方法来实现:
方法一:
在AndroidMainfest.xml中选择那个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden
<activity Android:name=".Main"
Android:label="@string/app_name"
Android:windowSoftInputMode="adjustUnspecified|stateHidden"
Android:configChanges="orientation|keyboardHidden">
<intent-filter>
<action Android:name="android.intent.action.MAIN" />
<category Android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
方法二:
让EditText失去焦点,使用EditText的clearFocus方法
EditText edit=(EditText)findViewById(R.id.edit);
edit.clearFocus();
其他实现方式:
1. 最简单的方式:在EditText的父布局中,添加如下设置:
android:focusable="true"
android:focusableInTouchMode="true"
2. 放置一个隐藏的View(visible = invisible)设置其requestFocus属性。
requestFocus = true;
方法三:
强制隐藏Android输入法窗口
EditText edit=(EditText)findViewById(R.id.edit)
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)
imm.hideSoftInputFromWindow(edit.getWindowToken(),0)
方法四:
EditText始终不弹出软件键盘
EditText edit=(EditText)findViewById(R.id.edit)
edit.setInputType(InputType.TYPE_NULL)