1.初始启动时隐藏输入法
//方法1
//在activity onCreate()添加
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
//方法2:
//先在style中配置
<style name="mStyle">
<item name="android:windowSoftInputMode">stateHidden</item>
</style>
//然后AndroidManifest中引用
<activity
android:name="com..."
android:theme="@style/mStyle">
</activity>
//方法3:
//直接在AndroidManifest中配置
<activity
android:name="com..."
android:windowSoftInputMode="stateHidden">
</activity>
2.已弹出输入法时关闭
((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(v.getWindowToken(), 0);
3.点击EditText不弹出输入法
EditText editText = findViewById(R.id.myEditText);
//在TextView中有个方法setShowSoftInputOnFocus(boolean)可以设置点击是否弹出输入法,然而只有api level 21或以上能直接调用
//editText.setShowSoftInputOnFocus(false); //api level 21
//使用反射,获取方法并调用
try {
Method method = EditText.class.getMethod("setShowSoftInputOnFocus", boolean.class);
method.setAccessible(true);
method.invoke(editText, false);
} catch (Exception e) {
e.printStackTrace();
}