我解决了它……创建了以下代码

public class CustomEditText extends EditText {

private Drawable dRight;

private Rect rBounds;

CustomEditText(Context context,AttributeSet attributeSet){

super(context,attributeSet);

}

@Override

public void setCompoundDrawables(Drawable left,Drawable top,Drawable right,Drawable bottom) {

/*if (left != null) {

dLeft = left;

}*/

if (right != null) {

dRight = right;

}

super.setCompoundDrawables(left,top,right,bottom);

}

@Override

public void addTextChangedListener(TextWatcher watcher) {

super.addTextChangedListener(watcher);

}

@Override

protected void onTextChanged(CharSequence text,int start,int lengthBefore,int lengthAfter) {

super.onTextChanged(text,start,lengthBefore,lengthAfter);

if(this.getText().toString().length()>0)

this.setCompoundDrawablesWithIntrinsicBounds(null,dRight,null);

else

this.setCompoundDrawablesWithIntrinsicBounds(null,null);

}

@Override

protected void finalize() throws Throwable {

dRight = null;

rBounds = null;

super.finalize();

}

}

并添加到xml中:

android:id="@+id/uIDEditText"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:drawableRight="@drawable/round_clear"

android:textColor="#ffffff" />

在Activity中(edittext ontouch侦听器):

uIDEditText.setOnTouchListener(new OnTouchListener() {

@Override

public boolean onTouch(View v,MotionEvent event) {

if (event.getAction() != MotionEvent.ACTION_UP)

return false;

if (event.getX() > uIDEditText.getWidth() - clear.getIntrinsicWidth())

{

uIDEditText.setText("");

event.setAction(MotionEvent.ACTION_CANCEL);

}

return false;

}

});

android edittext drawable,android – 在事件上显示复合drawable到EditText相关推荐

  1. Android中使用Notification在状态栏上显示通知

    场景 状态栏上显示通知效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 ...

  2. Android学习-使用WebView在app上显示网页

    通过Intent调用系统浏览器 Uri uri = Uri.parse(url);//url为你要链接的地址 Intent intent = new Intent(Intent.ACTION_VIEW ...

  3. java复选框如何显示在文本雨_java – 在复选框的itemStatechanged事件上显示文本字段...

    如何在Swing中的复选框的itemStatechanged事件中显示文本字段? 我正在尝试使用复选框和文本字段创建框架.我希望仅在选中复选框时才显示文本字段.因此,当我初始化组件时,我将textfi ...

  4. android 获取网络图片并在Imageview上显示

    这个是我使用的图片...http://imgstore04.cdn.sogou.com/app/a/100520024/877e990117d6a7ebc68f46c5e76fc47a 布局中声明一个 ...

  5. android倒计时dialog,倒计时,dialog上显示倒计时,如果不点击dialog,倒计时结束后自动跳转...

    首先在strings.xml文件里定义 // 整数用 %d 字符串用 %s "提示" "该视频已被移除" %d 返回播放列表  string > /*如果 ...

  6. android drawable 点击事件,Android中EditText的drawableRight属性设置点击事件

    这个方法是通用的,不仅仅适用于edittext,也适用于textview.autocompletetextview等控件. google官方api并没有给出一个直接的方法用来设置右边图片的点击事件,所 ...

  7. android 调取数字键盘,如何在android中的EditText上显示数字键盘?

    如何在android中的EditText上显示数字键盘? 我只是想在某个EditText具有焦点时立即切换到数字键盘模式. 13个解决方案 239 votes 您可以为EditText配置EditTe ...

  8. android用来显示界面的组件,Android 自学之基本界面组件(上)

    文本款(TextView)和编辑框(EditText)的功能和用法 TextView直接继承了View,他还是EditText.Button两个UI组件的父类,TextView的作用就是在界面上显示文 ...

  9. 如何在Android上显示警报对话框?

    我想显示一个对话框/弹出窗口,并向用户显示"您确定要删除此条目吗?"的消息. 一个带有"删除"按钮. 触摸Delete ,它应删除该条目,否则不删除任何条目. ...

最新文章

  1. Ubuntu 系统 启动报错 /: UNEXPECTED INCONSISTENCY; RUN FSCK MANUALLY
  2. 有序数组二分查找java_详解Java数据结构和算法(有序数组和二分查找)
  3. LeetCode Anagrams
  4. ubuntu将GNU nano换成vim
  5. laravel 定时任务
  6. 适用于ps的Raw格式图像插件:AdobeCamera Raw13 Mac中文版
  7. 100行代码撸完SpringIOC容器
  8. 拆分命令_命令行生存指南:拆分与合并 | Linux 中国
  9. 幕享 for Mac(全平台全设备投屏共享软件)中文版
  10. 16.卷1(套接字联网API)---非阻塞式IO
  11. hdu3790最短路径问题 (用优先队列实现的)
  12. 决策树C4.5算法的不足
  13. Matlab矢量图导出PDF格式方式及LaTex图片排版技巧
  14. 神经网络计算棒怎么用,微软神经网络计算棒
  15. 塑料齿轮模具设计指南
  16. Mac显示桌面的快捷方式
  17. 【安富莱】RTX嵌入式操作系统教程发布,支持F103,F407和F429,含81个配套例程(2017-10-17)...
  18. android 百度导航 过路费,高德地图和百度地图规划路线不一样,且过路费也有差别如何选择?...
  19. Linux 文件属性详解
  20. 林子雨—大数据技术原理与应用—上机实验二

热门文章

  1. 看病要排队 (hdu1873,优先队列)
  2. 基于Go语言构建区块链:part5
  3. 四、java多线程核心技术——synchronized同步方法与synchronized同步快
  4. java if语句练习
  5. 拦截器 参数不过去 的解决方法
  6. SSH 命令常见用法
  7. ubuntu16.04安装FastDFS-5.08
  8. Get value from agent failed:cannot connect to[[192.168.1.113];10050]:[111]Co
  9. 【Oracle】恢复重做日志组
  10. 【Oracle】RMAN备份