1)当在某个页面输入信息时弹出软键盘,使用ViewPager切换页面时,软键盘依旧存在。
解决方法:1、定义两个变量
private InputMethodManager manager;
private View currentFocus;
2、在onCreate中初始化manager
manager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
3、在ViewPager的事件监听onPageSelected中定义隐藏输入法
/**解决ViewPager切换页面时软键盘依旧弹出的问题*/
currentFocus = MainActivity.this.getCurrentFocus();//得到获取焦点的view
if(currentFocus != null){
//检查输入法是否打开
if(manager.isActive()){
//隐藏软键盘
try {
manager.hideSoftInputFromWindow(currentFocus.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
} catch (Exception e) {
e.printStackTrace();
}
}
解决方法:1、定义两个变量
private InputMethodManager manager;
private View currentFocus;
2、在onCreate中初始化manager
manager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
3、在ViewPager的事件监听onPageSelected中定义隐藏输入法
/**解决ViewPager切换页面时软键盘依旧弹出的问题*/
currentFocus = MainActivity.this.getCurrentFocus();//得到获取焦点的view
if(currentFocus != null){
//检查输入法是否打开
if(manager.isActive()){
//隐藏软键盘
try {
manager.hideSoftInputFromWindow(currentFocus.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
} catch (Exception e) {
e.printStackTrace();
}
}
}
2)使用ViewPager切换页面,当使用软键盘输入时,底部的按钮视图会被顶上去。
解决方法:在AndroidManifest.xml中将使用ViewPager的Activity里添加android:windowSoftInputMode="adjustPan"
如:<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:windowSoftInputMode="adjustPan" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>