Dialog与软键盘共存的问题

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与软键盘共存的问题)