Android 如何避免窗口视图越过键盘?
我在底部有窗口视图,当我点击任何编辑文本时,键盘打开,但在窗口视图下方(窗口视图位于键盘上方)。 尝试使用adjustPan、adjustResize。 尝试根据键盘可见性使用显示隐藏视图,但出现安全异常Android 如何避免窗口视图越过键盘?,android,android-windowmanager,Android,Android Windowmanager,我在底部有窗口视图,当我点击任何编辑文本时,键盘打开,但在窗口视图下方(窗口视图位于键盘上方)。 尝试使用adjustPan、adjustResize。 尝试根据键盘可见性使用显示隐藏视图,但出现安全异常 mTabParams = new WindowManager.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONT
mTabParams = new WindowManager.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_SYSTEM_ALERT |
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSPARENT);
mTabParams.format = PixelFormat.TRANSLUCENT;
mTabParams.height = TAB_BAR_HEIGHT;
mTabParams.gravity = Gravity.BOTTOM;
mWindowmanager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
mWindowmanager.addView(mTabbarLayout, mTabParams);
这对我很有用:
params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PRIORITY_PHONE,
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN |
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
WindowManager.LayoutParams.FLAG_SPLIT_TOUCH |
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
PixelFormat.TRANSLUCENT);
这将添加的视图放在键盘后面。
int TYPE\u SYSTEM\u OVERLAY Window TYPE:SYSTEM OVERLAY windows,需要显示在所有其他窗口的顶部。
因此,请尝试删除该标志,看看是否有帮助。特别是我发现,需要使用的标志是flag\u NOT\u FOCUSABLE\flag\u ALT\u FOCUSABLE\IM,根据您的具体需要,其他选项是可选的