我的应用程序包含一个带有特殊按钮的输入法服务,该按钮会弹出一个对话框。对于使用 Android 9 的用户,此对话框无法正确显示,只有 IME 上方的部分可见:
创建对话框的代码是
AlertDialog dialog = builder.create();
Window window = dialog.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
LatinKeyboardView inputView = mKeyboardSwitcher.getInputView();
lp.token = inputView.getWindowToken();
lp.type = WindowManager.LayoutParams.TYPE_APPLICATION_ATTACHED_DIALOG;
window.setAttributes(lp);
window.addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
dialog.show();
这与https://stackoverflow.com/a/13962770/292233中的描述相同
我也按照https://stackoverflow.com/a/3508462/292233TYPE_APPLICATION_PANEL
中的建议进行了尝试,但这也无济于事。
有什么简单的解决方法吗?