Android中EditText的光标的隐藏与再次显示

2023-01-08 14:16:26
  • 编辑框中有内容时,如下图所示:

这里写图片描述

当你点击重置按钮时,需要将编辑框的内容清空!如果只是单纯采用如下代码实现编辑框内容的清空:

edit1.setText("");// TODO 编辑框设置清空
  • 将会出现如下所示效果图:

这里写图片描述

这个时候光标会一直显示,用户体验效果较为不好。如果可以在清空内容的同时将光标也隐藏,那么用户体验就较为好了。

  • 采用下面的方法可以实现编辑框内容清空的同时将光标隐藏:

代码实现如下:

// 重置按钮设置监听
        btn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO 将编辑框的内容重置为空
                reset();

            }
        });

private void reset() {
        edit1.setText("");
        edit1.setCursorVisible(false);// 内容清空后将编辑框1的光标隐藏,提升用户的体验度
        Toast toast = new Toast(MainActivity.this);
        TextView textView = new TextView(MainActivity.this);
        textView.setText("点击了重置按钮,我是吐司!");
        toast.setView(textView);
        toast.setDuration(3000);
        toast.show();
    }

// 编辑框设置触摸监听
        edit1.setOnTouchListener(new View.OnTouchListener() {

            @SuppressLint("ClickableViewAccessibility")
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (MotionEvent.ACTION_DOWN == event.getAction()) {
                    edit1.setCursorVisible(true);// 再次点击显示光标
                }
                return false;
            }
        });

以上代码有关键的注释,而且很简单易懂。大体就是:给重置按钮设置单击事件监听,里面写了一个清空编辑框内容的方法reset()、然后在该方法里将编辑框的内容清空的同时将光标隐藏、接着需要给编辑框设置触摸事件监听,里面判断手势按下的时候,继续显示被隐藏的光标。

以上就是我对光标显示与隐藏的思路和想法,或许有更为简单的方法。大家可以去自己去研究,带着一种成长型的思维模式去学习,相信任何东西你都可以学会!You Can Learn Anything!思维模式别太固定了,你的大脑是可以和不断的被开发的,就像你的肌肉一样!

  • 下面是点击重置按钮后隐藏光标的展示图片:

这里写图片描述

光标就隐藏了,而且下一次再次点击编辑框的时候,光标会再次出现。优化了用户体验。


每天进步一点点!加油!

  • 作者:邹奇
  • 原文链接:https://imxiaoqi.blog.csdn.net/article/details/51831127
    更新时间:2023-01-08 14:16:26