Dialog与软键盘共存的问题,当对话框弹出时,系统会将键盘关闭的,如果要共存,WindowManager中有这样一个标记
/** Window flag: invert the state of {@link #FLAG_NOT_FOCUSABLE} with
* respect to how this window interacts with the current method. That
* is, if FLAG_NOT_FOCUSABLE is set and this flag is set, then the
* window will behave as if it needs to interact with the input method
* and thus be placed behind/away from it; if FLAG_NOT_FOCUSABLE is
* not set and this flag is set, then the window will behave as if it
* doesn't need to interact with the input method and can be placed
* to use more space and cover the input method.
*/
public static final int FLAG_ALT_FOCUSABLE_IM = 0x00020000;意思就是说焦点覆盖输入法的空间,也就是在输入法上面叠层
设置方法:在dialog对象里面获取window窗体,设置这个标记
xxDialog.
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
本文介绍了如何解决Dialog与软键盘共存的问题。通过设置特定的窗口标志,可以使Dialog在弹出时不关闭软键盘,并正确地与之交互。
2557

被折叠的 条评论
为什么被折叠?



