天天看点

ViewPager软键盘问题

1)使用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>

2)当在某个页面输入信息时弹出软键盘,使用ViewPager切换页面时,软键盘依旧存在。

解决方法:1、定义两个变量

             private InputMethodManager manager;

             private View currentFocus;

          2、在onCreate中初始化manager

             manager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);

          3、在ViewPager的事件监听onPageSelected中定义隐藏输入法

    currentFocus = MainActivity.this.getCurrentFocus();

    if(currentFocus != null){

//检查输入法是否打开

if(manager.isActive()){

    //隐藏软键盘

    try {

manager.hideSoftInputFromWindow(currentFocus.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

    } catch (Exception e) {

e.printStackTrace();

      }

}

   }

继续阅读