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

库萨利亚

我为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条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何以编程方式连续绘制几个矩形?

来自分类Dev

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

来自分类Dev

如何以编程方式在Android中绘制以下图像?

来自分类Dev

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

来自分类Dev

jQuery:如何以编程方式隐藏TableTools按钮

来自分类Dev

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

来自分类Dev

如何以编程方式在EasyAdminBundle中隐藏/显示菜单

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何以编程方式在android中打开隐藏文件?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

如何以编程方式隐藏 Swift 4 中的按钮

来自分类Dev

Google App Maker:如何以编程方式隐藏微调器?

来自分类Dev

如何以编程方式隐藏 chrome 中的密码建议列表?

来自分类Dev

如何以编程方式检查行是否可删除?

来自分类Dev

如何以编程方式使按钮在Android中可滚动?

来自分类Dev

在用户授予权限后,如何以编程方式发送短信?

来自分类Dev

如何以编程方式获取MIUI Security应用程序自动启动权限?

来自分类Dev

如何以编程方式授予虚拟用户对文件夹(或文件)的权限

来自分类Dev

如何以编程方式在MS Access中授予数据库打开权限

Related 相关文章

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

    如何以编程方式连续绘制几个矩形?

  7. 7

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

  8. 8

    如何以编程方式在Android中绘制以下图像?

  9. 9

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

  10. 10

    jQuery:如何以编程方式隐藏TableTools按钮

  11. 11

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

  12. 12

    如何以编程方式在EasyAdminBundle中隐藏/显示菜单

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

    如何以编程方式在android中打开隐藏文件?

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

    如何以编程方式隐藏 Swift 4 中的按钮

  22. 22

    Google App Maker:如何以编程方式隐藏微调器?

  23. 23

    如何以编程方式隐藏 chrome 中的密码建议列表?

  24. 24

    如何以编程方式检查行是否可删除?

  25. 25

    如何以编程方式使按钮在Android中可滚动?

  26. 26

    在用户授予权限后,如何以编程方式发送短信?

  27. 27

    如何以编程方式获取MIUI Security应用程序自动启动权限?

  28. 28

    如何以编程方式授予虚拟用户对文件夹(或文件)的权限

  29. 29

    如何以编程方式在MS Access中授予数据库打开权限

热门标签

归档