美文网首页
评论窗口弹出与隐藏(仿今日头条)

评论窗口弹出与隐藏(仿今日头条)

作者: numqin | 来源:发表于2017-10-24 11:04 被阅读221次

    开始

    LItfGGH.gif

    https://github.com/Mrqinlei/CommentDialog

    自定义Dialog

    首先是自定义一个评论的带 EditText 的 dailog (这个可以看我前面的文章http://www.jianshu.com/p/41a6c1c2237f)

    处理 Dialog 中 Edittext 键盘不弹出

    键盘无法弹出处理, 这是因为系统给 Dialog 设置了 WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM
    这个参数会让Dialog遮挡住软键盘,显示在软键盘的前面。

    //使得点击 Dialog 中的EditText 可以弹出键盘
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
    
    //总是显示键盘
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
    

    处理软键盘显示时,点击返回键关闭 dialog 和软键盘

    系统在处理返回键时, 如果显示了软键盘, 则会先处理软键盘的隐藏
    这里我们自定义 EditText 来处里软键盘显示时的返回键的事件监听

    自定义 EditText 重写 dispatchKeyEventPreIme() 事件

        @Override
        public boolean dispatchKeyEventPreIme(KeyEvent event) {
            if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
                if (callBack != null) {
                    callBack.callBack();
                }
                return true;
            }
            return super.dispatchKeyEventPreIme(event);
        }
    

    相关文章

      网友评论

          本文标题:评论窗口弹出与隐藏(仿今日头条)

          本文链接:https://www.haomeiwen.com/subject/lxstpxtx.html