给EditText的drawableRight属性的图片设置点击事件
这个方法是通用的,不仅仅适用于EditText,也适用于TextView、AutoCompleteTextView等控件。
Google官方API并没有给出一个直接的方法用来设置右边图片的点击事件,所以这里我们需要通过点击位置来判断点击事件,效果如图:
布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.example.drablerighttest.MainActivity" ><EditTextandroid:id="@+id/et"android:layout_width="350dp"android:layout_height="wrap_content"android:drawableRight="@drawable/search_clear_pressed"android:text="@string/hello_world" /></RelativeLayout>
MainActivity.java
public class MainActivity extends Activity {private EditText et;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);et = (EditText) this.findViewById(R.id.et);et.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {// et.getCompoundDrawables()得到一个长度为4的数组,分别表示左右上下四张图片Drawable drawable = et.getCompoundDrawables()[2];//如果右边没有图片,不再处理if (drawable == null)return false;//如果不是按下事件,不再处理if (event.getAction() != MotionEvent.ACTION_UP)return false;if (event.getX() > et.getWidth()- et.getPaddingRight()- drawable.getIntrinsicWidth()){et.setText("");}return false;}});}
}
转载于:https://www.cnblogs.com/qitian1/p/6461802.html
给EditText的drawableRight属性的图片设置点击事件相关推荐
- Android在WebView中给图片设置点击事件
好久没有更新博客了,今天来个小知识点.我们知道在WebView中加载的是Html也面,在开发中都是Web前端人员写好以后给个链接我们去用webView进行loadUrl.但是有时突然产品想让你把加载回 ...
- android drawable 点击事件,Android中EditText的drawableRight属性设置点击事件
这个方法是通用的,不仅仅适用于edittext,也适用于textview.autocompletetextview等控件. google官方api并没有给出一个直接的方法用来设置右边图片的点击事件,所 ...
- 在XML布局里给View设置点击事件
给一个View设置监听点击事件是再普通不过的事情,比如 view.setOnClickListener(onClickListener); 另外一种做法是直接在XML布局里面指定View点击时候的回调 ...
- android点击linearlayout没反应,LinearLayout设置点击事件的问题
我给LinearLayout设置点击事件,LinearLayout中有一个ImageButton和一个TextView,为什么我点击Imagebutton无法触发点击事件,点击TextView就会触发 ...
- Android实现侧滑抽屉菜单,android studio自带的抽屉侧滑菜单怎么设置点击事件?还头一回遇到,汗!...
在你的activity,你需要inflate 你的menu folder@Override public boolean onCreateOptionsMenu(Menu menu) { MenuIn ...
- DialogFragment中通过dataBinding绑定View,设置点击事件无效,通过getWindow设置dialog位置和大小无效。
1.问题描述:DialogFragment中通过dataBinding绑定View,设置点击事件无效. private val binding: CoreDialogEditContentBindin ...
- Android Span富文本设置点击事件/超链接 - URLSpan/ClickableSpan
######为文字实现很丰富的特殊效果,下面来实现 点击事件/超链接 操作 so... 直接上效果: ##使用前提条件: textView.movementMethod = LinkMovementM ...
- border属性 php,如何通过CSS的border属性为图片设置边框效果
如何为通过css为图片设置一个边框呢,HTML中是通过标记的border属性值,给图片添加边框的,css中是通过border属性,为图片设置各式各样的边框样式,border-style定义边框的样式, ...
- TextView设置SpannableString 添加图片和点击事件(仿微信点赞列表)
1 点赞内容添加 /*** 点赞人布局(默认最多显示10个人)** @param voteUsers*/public void setVoteStr(View llVoteView, TextView ...
最新文章
- 使用promise解决回调地狱_使用Promise 解决回调地狱
- 4.13_chain_of_responsibility_行为型模式:责任链模式
- 编程漫谈及计算机硬件简介
- java基础中多线程个线程add同一变量时的非原子性问题
- FroalaEditor使用方法汇总
- 用动画来赋予PPT生命力(师从于珞珈老师)
- oracle_j000,DBA手记:System State转储之ROW CACHE对象
- Vim插件管理:Pathogen安装
- 【微信小程序】wx.request请求后success回调的数据无法显示到页面上
- 微信公众平台后台编辑器上线图片缩放和封面图裁剪功能
- css 让图标上下跳,使用CSS和Bootstrap图标制作上下跳动的指示箭头动画效果
- 华为鸿蒙系统首发设备,华为鸿蒙系统首发设备 必须支持华为,早点甩掉安卓...
- 【转载】华为的“山海经”军团——保证华为四个业务主线不被“一掐就死”
- 概率神经网络(PNN)
- 如何在Total Commander中使用命令行
- 3 Python数据分析 美国各州人口分析案例 Pandas高级操作 美国大选献金案例 matplotlib
- [Unity][blender]人形模型Humanoid动作重定向,拓展更多自定义人物动作
- 【高等数学】五、微分方程
- 充电电池、充电和放电循环是如何工作的
- 除了背后拆台,东方农嫂还犯了这三个致命错误 | 商业评论