最近遇到一个问题,当软键盘弹起的时候,针对不同的android机型,有的软键盘弹起会把edittext遮挡起来,不能把edittext推上去,很是蛋疼。
在Activity中设置:Android:windowSoftInputMode="stateUnspecified", 默认设置:软键盘的状态(隐藏或可见)没有被指定。系统将选择一个合适的状态或依赖于主题的设置。
<span style="font-family:KaiTi_GB2312;font-size:14px;color:#ff0000;">"stateUnchanged", 软键盘被保持上次的状态。 </span>
<span style="font-family:KaiTi_GB2312;font-size:14px;color:#ff0000;">"stateHidden", 当用户选择该Activity时,软键盘被隐藏。 </span>
<span style="font-family:KaiTi_GB2312;font-size:14px;color:#ff0000;"> "stateAlwaysHidden", 软键盘总是被隐藏的。 </span>
<span style="font-family:KaiTi_GB2312;font-size:14px;color:#ff0000;">"stateVisible",. 软键盘是可见的。 </span>
<span style="font-family:KaiTi_GB2312;font-size:14px;color:#ff0000;">"stateAlwaysVisible", 当用户选择这个Activity时,软键盘是可见的。 </span>
<span style="font-family:KaiTi_GB2312;font-size:14px;color:#ff0000;">"adjustResize", (压缩模式) 当软键盘弹出时,要对主窗口调整屏幕的大小以便留出软键盘的空间。 </span>
<span style="font-family:KaiTi_GB2312;font-size:14px;color:#ff0000;">"adjustPan" (平移模式:当输入框不会被遮挡时,该模式没有对布局进行调整,然而当输入框将要被遮挡时, 窗口就会进行平移。也就是说,该模式始终是保持输入框为可见。(键盘遮挡使用这种方法就能解决了!)</span>
<span style="font-family:KaiTi_GB2312;font-size:14px;color:#ff0000;"> </span>
<span style="font-family:KaiTi_GB2312;font-size:14px;color:#ff0000;">经过本人的实验,加上这样的就可以完美的弹出软键盘了。</span>
<span style="font-family:KaiTi_GB2312;font-size:14px;color:#ff0000;">android:windowSoftInputMode="adjustPan|stateHidden|adjustUnspecified" </span>
<span style="font-family:KaiTi_GB2312;font-size:14px;color:#ff0000;">但是这样的话,软键盘的弹出位置会依赖于edittext的焦点位置,如果edittext输入了10多行,但是你获取焦点的位置在第二行,就会在第二行的位置弹出软键盘。</span>