做了一个关于Android软件盘的显示和掩藏的例子,发现有些时候Android的软件盘并不是会乖乖的听从我的命令,我让它出它就不出,我让它隐藏它还不隐藏,我试过InputMethodManager的方法,showInputMethos();也试过了toggerInputMethodFromWindow()方法,可是都是失败了,隐藏也是一样,用过后者,也用过了hideinputmethodFromWindow(),但是结果还是一样的。我为了这个输入服务,我整了将近一天了,我很是郁闷。百感无奈的情况下,终于让我想出了解决的方法。到了这里我就直接贴代码了
<activity
android:windowSoftInputMode="stateAlwaysHidden|adjustUnspecified"
android:name="com.grmy.cybb.picudo.ShowActivity"
android:screenOrientation="portrait"
>
这是在显示软件盘的Activity的配置文件里进行的设置。
imm.showSoftInput(this.findViewById(R.id.overSetting),InputMethodManager.SHOW_FORCED);
这是进行软件盘显示的的代码操作,这里要让软件盘进行强制的显示。
imm.toggleSoftInput(0,InputMethodManager.HIDE_NOT_ALWAYS);
这是进行软件盘消失的操作代码。
总结:上面这个方法并不是说没有别的方法可以取代,只是对于我当前的情况是唯一有效的方法,相信对于很多其他的情况也是有效,因为我是经过实践总结出来的,其他的方法无法达到我的情况下的显示和隐藏软件盘的效果。对于那些和我一样不能显示和隐藏软件盘的朋友,希望能有所帮助。这个方法总体上讲就是一个通用的没有办法的办法的方法。如果写的不好请大家不要喷我呵呵。谢谢支持!