Android EditText不弹出输入法焦点问题的总结

转自:http://mobile.51cto.com/aprogram-403138.htm

看一个manifest中Activity的配置,如果这个页面有EditText,并且我们想要进入这个页面的时候默认弹出输入法,可以这样设置这个属性:android:windowSoftInputMode=stateVisible,这样就会默认弹起输入法,当然还有别的办法。

1 <activity android:name=".ui.login" 
2                   android:configChanges="orientation|keyboardHidden|locale" 
3                   android:screenOrientation="portrait" 
4                   android:windowSoftInputMode="stateVisible|adjustPan" > 
5         </activity>  

Android EditText 不弹出输入法总结

方法一:

在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden

例如:

1 <activity android:name=".Main" 
2 android:label="@string/app_name" 
3 android:windowSoftInputMode="adjustUnspecified|stateHidden" 
4 android:configChanges="orientation|keyboardHidden"> 
5 < intent-filter> 
6 < action android:name="android.intent.action.MAIN" /> 
7 < category android:name="android.intent.category.LAUNCHER" /> 
8 < /intent-filter> 
9 < /activity>

方法二:

让EditText失去焦点,使用EditText的clearFocus方法

例如:

1 EditText edit=(EditText)findViewById(R.id.edit); 
2 edit.clearFocus(); 

方法三:

强制隐藏Android输入法窗口

例如:

1 EditText edit=(EditText)findViewById(R.id.edit); 
2 InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
3 imm.hideSoftInputFromWindow(edit.getWindowToken(),0);  

2.EditText始终不弹出软件键盘

例:

1 EditText edit=(EditText)findViewById(R.id.edit); 
2 edit.setInputType(InputType.TYPE_NULL);