在一个带有底部导航栏的页面, 将android:windowSoftInputMode="adjustResize"设置为adjustResize,当我点击评论按钮会弹出输入框和软键盘,但是底部导航栏被顶起到软键盘上面了;如果 android:windowSoftInputMode="adjustPan"时,导航栏是保持在下面了,但是输入框会被软键盘遮挡住一部分,我想知道这个问题该如何解决?如何才能让输入框不被挡住,导航栏又不被顶起去呢
说两句吧,方便后人解决这问题。(如下方法解决本人底部tabhost被输入法顶起问题,不保证适应所有人)
1.首先如你所说android:windowSoftInputMode="adjustPan"
2.设置自定义输入框mPopWindowsComment(这是个popupwindow,自定义弹出的输入框,接收输入法的输入信息)的一些属性信息。
mPopWindowsComment.setSoftInputMode(PopupWindow.INPUT_METHOD_NEEDED);
//设置输入框不被输入法遮挡
mPopWindowsComment.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
//位于底部,输入法出现时将其顶起,最终显示在输入法的顶部
mPopWindowsComment.showAtLocation(mMainView.findViewById(R.id.parent), Gravity.BOTTOM, 0, 0);
//点击评论按钮时,启动输入法
mMinputMethodManager = (InputMethodManager) getActivity().getSystemService(getActivity().INPUT_METHOD_SERVICE);
mMinputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
以上为项目源码。。。。。
这是自己定义的输入框还好处理,WebView里的输入框就不能这么处理了.我的问题和你一样,唯一的不同就是一个是控件输入框,一个是webview内容中有输入框