Dialog与软键盘共存的问题

来源:互联网 发布:刘文展 举报事件知乎 编辑:程序博客网 时间:2024/06/10 14:50

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);

1 0