如何以编程方式隐藏可绘制权限

库萨利亚

我为EditText设置了可绘制的权限,如下所示,

editText.setCompoundDrawablesWithIntrinsicBounds(null, null, ContextCompat.getDrawable(getApplicationContext(), R.drawable.ic_clear_black_24dp), null);

我在XML中为EditText设置了drawable。我想将其可见性设置为可见或隐藏。如何以编程方式进行设置。

我有用于搜索的EditText。开始输入时,我以编程方式设置了清除图标。

清除图标将清除EditText中的文本。单击没有文本的清除图标时,我想关闭键盘并隐藏清除图标。下面是我的代码,

 editText.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    editText.setCursorVisible(true);
                    editText.setCompoundDrawablesWithIntrinsicBounds(null, null, ContextCompat.getDrawable(getApplicationContext(), R.drawable.ic_clear_black_24dp), null);
                }
            });
            editText.setOnTouchListener(new View.OnTouchListener() {
                @SuppressLint("ClickableViewAccessibility")
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    if(event.getAction() == MotionEvent.ACTION_UP) {
                        if(editText.getCompoundDrawables()[2]!=null){
                            if(event.getX() >= (editText.getRight()- editText.getLeft() - editText.getCompoundDrawables()[2].getBounds().width())) {

                                if(!editText.getText().toString().equals("")) {

                                    editText.setText("");
                                }
                                else {

                                   // getWindow().setSoftInputMode(
                                     //       WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
                                    editText.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
                                    closeKeyboard();
                                    editText.setCursorVisible(false);
                                }
                            }
                        }
                    }
                    return false;
                }
            });

我想以编程方式将其隐藏。

暗影机器人

onTouchListener如下更改您的与其寻找捕捉ACTION_UPgo的方法,ACTION_DOWN不如onTouch先从那里开始return true,现在我们不需要onClick关闭键盘。

editText.setOnTouchListener(new View.OnTouchListener() {
                @SuppressLint("ClickableViewAccessibility")
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    if(event.getAction() == MotionEvent.ACTION_DOWN) {
                        if(editText.getCompoundDrawables()[2]!=null){
                            if(event.getX() >= (editText.getRight()- editText.getLeft() - editText.getCompoundDrawables()[2].getBounds().width())) {

                                if(!editText.getText().toString().equals("")) {

                                    editText.setText("");
                                }
                                else {

                                   // getWindow().setSoftInputMode(
                                     //       WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
                                    editText.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
                                    closeKeyboard();
                                    editText.setCursorVisible(false);
                                    return true;
                                }
                            }
                        }
                    }
                    return false;
                }
            });

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何以编程方式绘制特定的可绘制资源?

如何以编程方式设置编辑文本的可绘制背景

ImageView,如何以编程方式获取可绘制对象的getSrc?

如何以编程方式创建图层列表可绘制对象?

如何以编程方式修改可绘制角 Android Java

如何以编程方式制作可绘制形状(Android)

如何以编程方式更改文件权限?

如何以编程方式隐藏按钮?

如何以编程方式隐藏视图?

如何以编程方式显示/隐藏BottomAppBar?

如何以编程方式创建或更改由不同颜色的线条组成的可绘制对象

如何以编程方式在 ImageView 中显示多个可绘制对象(带边距)

如何以特定方式以编程方式居中对齐绘制的对象

如何以编程方式调用Windows权限对话框?

如何以编程方式在脚本中实现超级用户权限?

Android如何以编程方式绘制圆角矩形

如何以编程方式激活自动隐藏表单?

如何以编程方式显示/隐藏导航抽屉

如何以编程方式隐藏UWP应用程序的键盘?

如何以编程方式隐藏已经存在的网格的特定行

c# 如何以编程方式隐藏水晶“SubReport”?

Swift如何以编程方式隐藏信息窗口

如何以编程方式关闭/隐藏 Android 软键盘?

如何以编程方式关闭/隐藏 Android 软键盘?

如何以编程方式隐藏键盘剪贴板?

如何以编程方式隐藏导航抽屉菜单项?

如何以编程方式隐藏选择选项?

如何以编程方式隐藏 ngx-toaster?

如何以编程方式从底部栏隐藏项目