美文网首页
Android点击输入框EditText时hint消失

Android点击输入框EditText时hint消失

作者: 移动端_小刚哥 | 来源:发表于2019-11-21 10:04 被阅读0次

    我们要实现当点击输入框时提示语hint消失的效果,简单查询发现需要使用OnFocusChangeListener

            _editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
                @Override
                public void onFocusChange(View v, boolean hasFocus) {
                    if (hasFocus==true){//获取焦点了
                        _editText.setHint("");
                    }else {
                        _editText.setHint("搜索");
                    }
                }
            });
    

    这个时候我们实现了点击输入框获取光标,同时提示语hint消失,但是又出现了一个新的问题,那就是点击第一下获取了光标但是没有弹出键盘(网上还有的人想要实现这个效果而不能😂,真是什么需求都有可能啊),那么我们就需要在获取焦点时手动调出软键盘

        /*弹出软键盘*/
        public static void showSoftInputFromWindow(EditText editText){
            editText.setFocusable(true);
            editText.setFocusableInTouchMode(true);
            editText.requestFocus();
            InputMethodManager inputManager =
                    (InputMethodManager) editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
            inputManager.showSoftInput(editText, 0);
        }
    

    使用方法

            _editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
                @Override
                public void onFocusChange(View v, boolean hasFocus) {
                    if (hasFocus==true){//获取焦点了
                        _editText.setHint("");
                        Utils.showSoftInputFromWindow(_editText);
                    }else {
                        _editText.setHint("搜索");
                    }
                }
            });
    

    参考文章
    https://blog.csdn.net/qq1271396448/article/details/80868880

    相关文章

      网友评论

          本文标题:Android点击输入框EditText时hint消失

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