首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在填充(或触摸) EditText后才显示我的DrawableRight图像?

在填充或触摸EditText后才显示DrawableRight图像,可以通过以下步骤实现:

  1. 创建一个自定义EditText控件,并在布局文件中使用该控件。
  2. 在自定义EditText控件的构造函数中,设置一个OnTouchListener监听器。
  3. 在OnTouchListener的onTouch方法中,判断触摸事件的类型,如果是ACTION_UP(手指抬起)事件,则显示DrawableRight图像。
  4. 在布局文件中,为自定义EditText控件设置DrawableRight属性,即要显示的图像。

下面是一个示例代码:

代码语言:txt
复制
public class CustomEditText extends EditText implements View.OnTouchListener {
    private Drawable drawableRight;
    
    public CustomEditText(Context context) {
        super(context);
        init();
    }
    
    public CustomEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }
    
    public CustomEditText(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init();
    }
    
    private void init() {
        // 获取DrawableRight图像
        drawableRight = getCompoundDrawables()[2];
        
        // 设置触摸监听器
        setOnTouchListener(this);
    }
    
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_UP) {
            // 判断触摸位置是否在DrawableRight图像内
            if (event.getRawX() >= (getRight() - drawableRight.getBounds().width())) {
                // 显示DrawableRight图像
                // 可以在这里执行一些操作,比如清空EditText内容
                setCompoundDrawables(null, null, drawableRight, null);
                return true;
            }
        }
        return false;
    }
}

在布局文件中使用CustomEditText控件:

代码语言:txt
复制
<com.example.CustomEditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:drawableRight="@drawable/your_drawable"
    android:hint="Enter text" />

这样,在填充或触摸CustomEditText后,DrawableRight图像就会显示出来。

注意:上述示例代码中的CustomEditText是一个自定义的EditText控件,你可以根据自己的需求进行修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

笔记22 | 学习整理开源APP(BaseAnimation)程序源码“中通讯录效果(三)

---- 3.目录 3.1 A-Z字母索引 3.2 联系人界面ListView数据填充 3.3 联系人搜索 3.1 A-Z字母索引 通过自定义一个View界面,绘制一个A-Z竖向排列布局,通过触摸事件监听...,根据触摸区域和字母高度计算出position,再向联系人Listview提供一个方向输出position值!...>笔记20 | 学习整理开源APP(BaseAnimation)程序源码“中通讯录效果(一) ---- 3.2 通讯录界面ListView数据填充 加载联系人方法容易理解,排序》加载》处理 >笔记...DrawableRight,假如没有设置我们就使用默认图片 mClearDrawable = getCompoundDrawables()[2]; if (mClearDrawable...* 当我们按下位置 在 EditText宽度 - 图标到控件右边间距 - 图标的宽度 和 * EditText宽度 - 图标到控件右边间距之间我们就算点击了图标,竖直方向没有考虑

67340
  • 按钮和复选框控件

    的话,那么被选这个tabitem填充就会变大,使得看上去与其它tabitem不一样。...android:state_enabled 设置触摸点击事件是否可用状态,一般只在false时设置该属性,表示不可用状态。...或者一个listView等里面一个item被选择时候状态,因此这个属性设置在一般组件上面是没有用,只有设置有作为tabitem布局里面的项时,这个属起作用. android:state_checked...android:state_checkable 设置勾选是否可用状态,类似state_enabled,只是state_enabled会影响触摸点击事件,而state_checkable影响勾选事件。...Button和EditText一样,也是TextView之类,因此也可以采用与TextView、EditText同样方式实现图文混排(这个demo在2.3SDK中运行OK。

    1.2K20

    【Android 应用开发】Android UI 设计之 TextView EditText 组件属性方法最详细解析

    属性 :  在文本框左边绘制指定图像 :android:drawableLeft; 在文本框右边绘制指定图像 :android:drawableRight; 在文本框上边绘制指定图像 :android...显示省略 单行设置 : 显示省略时候, 必须设置文本行数为单行, 才能看出效果,  android:singleLine 可以设置是否单行显示; 省略设置 : 当显示文本超过了TextView长度后处理文本内容方法...显示文本为密码 设置文本框是一个密码框 : 如果要设置显示文本是密码的话, 那么显示出来就是 "." , 不能显示具体内容; -- XML属性 :android:password, 如果是密码的话...EditText属性详解 共享属性 : EditText 与 TextView共享大部分XML属性, 但是EditText可以接受用户输入; 类型定义属性 : EditText最重要属性是android...-- android:stretchColumns 属性表示 第一列允许被拉伸, 注意索引从0开始 android:hint 属性表示Edittext没有输入之前显示内容

    1.7K30

    2014-10-25Android学习------布局处理(三)------常见且常用列表布局

    学习Android都是结合源代码去学习,这样比较直观,非常清楚看清效果,觉得很好,今天学习源码是网上找个HealthFood 源码 百度搜就知道很多下载地方 本节学习接上篇布局学习(二) 地址...----它宽度不是填充父窗体,而应该是包裹内容,也就是wrap_content,它宽度应该就是图片宽度,随着图片大小而变化。...2)猪肉和黄连这两行文本显示控件大小-------它宽度应该是填充父窗体,(这个时候填充父窗体是指在当前水平方向线性布局中剩下空间),,它宽度也可以是包裹内容,因为我们清楚这里汉字显示个数很少...省略号显示在开头; ”end” ——省略号显示在结尾; ”middle”—-省略号显示在中间; ”marquee” ——以跑马灯方式显示(动画横向移动) 4)上面的汉字显示文本框(黄连),它内容应该是动态设置...本元素下边缘和某元素下边缘对齐 android:layout_alignRight 本元素右边缘和某元素右边缘对齐 4.属性值为具体像素值, 30dip

    1.1K30

    Android自定义EditText:手把手教你做一款含一键删除&自定义样式SuperEditText

    特点 对比市面上EditText控件,该控件Super_EditText 特点是: 3.1 功能实用 一键删除功能 在需求中非常常见,现将其封装更加方便使用 可自定义样式程度高(比自带强大 & 方便...上、下、左、右设置图标(相当于android:drawableLeft="" android:drawableRight="") // 备注:传入Drawable对象必须已经setBounds...上、下、左、右设置图标(相当于android:drawableLeft="" android:drawableRight="") // 备注:传入Drawable对象必须已经setBounds...// 解决方案:线长度 = 控件长度 + 延伸长度 int x=this.getScrollX(); // 获取延伸长度 int w=this.getMeasuredWidth...下一篇文章将继续进行一些 简单 & 实用自定义View实例讲解,有兴趣可以继续关注Carson_Ho安卓开发笔记 ---- 请帮顶 评论点赞!因为你鼓励是写作最大动力!

    1.8K30

    Android开发笔记(三十六)展示类控件

    如果填充图片显然不够经济,最简单做法,就是在xml布局中增加一个View控件,高度宽度设置为1dp,背景颜色设置为线条颜色,这样便实现了单独显示线条需求。...3、在代码中设置某控件为可见不可见消失,此时需要使用View类三个变量,分别是View.VISIBLE、View.INVISIBLE和View.GONE。...TextView TextView是最基础文本显示控件了,基本属性text、textColor、textSize、textDirection、textStyle、textAlignment就不多说了...drawableLeft : 指定文本左边图形。 drawableRight : 指定文本右边图形。 drawablePadding : 指定图形与文本间距。...setCompoundDrawablePadding : 设置图形与文本间距。 3、对该控件(视图)截图。需要先设置绘图缓存可用,然后取出该控件绘图缓存完成截图操作。

    1.5K30

    Android开源库:手把手教你实现一个简单好用搜索框(含历史搜索记录)

    X轴上起点 y:组件在容器Y轴上起点 width:组件长度 height:组件高度 } /** * 步骤3:通过监听复写EditText本身方法来确定是否显示删除图标...当输入框为空 & 数据库中有搜索记录时,显示 "删除搜索记录"按钮 if (tempName.equals("") && cursor.getCount() !...下一篇文章将继续进行一些有趣自定义View实例讲解,有兴趣可以继续关注Carson_Ho安卓开发笔记 更多简单好用开源库:简单 & 好用开源组件: 自定义EditText:手把手教你做一款含一键删除...&自定义样式SuperEditText ---- 请 帮顶 评论点赞!...因为你鼓励是写作最大动力!

    2.9K10

    Android自定义EditText:手把手教你做一款智能EditText(一键删除、自定义样式)

    特点 对比市面上EditText控件,该控件Super_EditText 特点是: 3.1 功能实用 一键删除功能 在需求中非常常见,现将其封装更加方便使用 可自定义样式程度高(比自带强大 & 方便...上、下、左、右设置图标(相当于android:drawableLeft="" android:drawableRight="") // 备注:传入Drawable对象必须已经setBounds...上、下、左、右设置图标(相当于android:drawableLeft="" android:drawableRight="") // 备注:传入Drawable对象必须已经setBounds...// 解决方案:线长度 = 控件长度 + 延伸长度 int x=this.getScrollX(); // 获取延伸长度 int w=this.getMeasuredWidth...(); // 获取控件长度 // 传入参数时,线长度 = 控件长度 + 延伸长度 canvas.drawLine(0, this.getMeasuredHeight

    1.2K30

    Android TextView 属性大全

    android:drawableRight在text右边输出一个drawable。 android:drawableTop在text正上方输出一个drawable。...android:gravity设置文本位置,设置成“center”,文本将居中显示。 android:hintText为空时显示文字提示信息,可通过textColorHint设置提示信息颜色。...13.TextView 其他属性 android:imeOptions:附加功能,设置右下角IME动作与编辑框相关动作,actionDone右下角将显示一个“完成”,而不设置默认是一个回车符号。...android:privateImeOptions设置输入法选项,此处无用,在EditText将进一步讨论。...android:selectAllOnFocus如果文本是可选择,让他获取焦点而不是将光标移动为文本开始位置或者末尾位置。TextView中设置无效果。

    2.6K30

    一文学会所有 Android TextView 属性,妈妈再也不担心代码写不好了!

    android:drawableRight在text右边输出一个drawable。 android:drawableTop在text正上方输出一个drawable。...android:gravity设置文本位置,设置成“center”,文本将居中显示。 android:hintText为空时显示文字提示信息,可通过textColorHint设置提示信息颜色。...13.TextView 其他属性 android:imeOptions:附加功能,设置右下角IME动作与编辑框相关动作,actionDone右下角将显示一个“完成”,而不设置默认是一个回车符号。...android:privateImeOptions设置输入法选项,此处无用,在EditText将进一步讨论。...android:selectAllOnFocus如果文本是可选择,让他获取焦点而不是将光标移动为文本开始位置或者末尾位置。TextView中设置无效果。

    1.6K20

    Android富文本开发

    ,插入图片,图片宽度填充满手机屏幕宽度,然后高度可以动态设置,图片是剧中裁剪显示; 在编辑状态,插入图片,如果本地图片过大,要求对图片进行质量压缩,大小压缩; 在编辑状态,插入多张图片时,添加插入过渡动画...加载图片内存都去哪里呢? 其实我们内存就是去bitmap里了,BitmapFactory每个decode函数都会生成一个bitmap对象,用于存放解码图像,然后返回该引用。...如果设置为true则表示decode函数不会生成bitmap对象,仅是将图像相关参数填充到option对象里,这样我们就可以在不生成bitmap而获取到图像相关参数了。...第一次:设置为true则表示decode函数不会生成bitmap对象,仅是将图像相关参数填充到option对象里,这样我们就可以在不生成bitmap而获取到图像相关参数。...是开源动力,谢谢!

    8.5K20

    Android开发(5) 代码方式生成表单

    2.设置控件各种属性,比如 设置某个Button显示文字,绑定事件等。 3.将这个控件追加到一个容器控件中,作为这个容器控件子控件。...比如:view.AddView(...). 4.在追加父控件内时,可以指定布局方式。 在动态添加完毕,我们还需要能够获得对这些动态添加控件值。...比如我添加一个文本框,还想获得用户在这个文本框里填入值。androidview控件里,都有个属性Tag,我们可以很方便使用这个属性来存放我们特殊标记,用这个特殊标记来标记我们控件。...4.将收集到值存储其他处理 下面是生成表单操作 for(int i = 0; i< 5 ; i++) { TableRow row = new TableRow(this...这个布局参数指示了这个子控件如何在父容器控件里呈现。

    1.6K00

    高仿Android「填空题」控件:手撸一个炫酷View动效!

    1.首先,最简单功能:显示文字 2.其次,实现文字点击,并弹出输入法 3.再次,接收输入法输入 4.最后,光标与文字输入和删除 1. 如何显示文字?...这样,经过 String.split("") ,就可以把这段文字拆分为多个分段。...commitText,输入法输入时,会通过这个方法将文字传输给控件 4.光标 1)绘制 普通EditText在输入时,都会有一个光标,用于表示输入删除位置。...,控制线条显示和隐藏即可。...这里就需要一个方法来确认:触摸点x坐标到可编辑字段起始位置x坐标的这段长度,可以存放多少个文字。 采用方法如下: 我们知道,这段长度,可以放置最少文字个数,就是汉字个数。

    1.7K30

    Android开发笔记(七)初识Drawable

    什么是Drawable Android把所有显示出来图形都抽象为Drawable(该单词意思就是“可绘制”),这里图形不只是图片,还包括色块、画板、背景等等。...例如 drawable-ldpi里面主要放低分辨率图片,QVGA(240×320) drawable-mdpi里面主要放中等分辨率图片,HVGA(320×480) drawable-hdpi...比如说,在drawable-hdpi放了一张背景图片bg.png(分辨率480×800),其他目录就没放,使用分辨率480×800手机查看该APP是没有问题,但是现在有一台分辨率高手机720×...Drawable状态 简单drawable都是静态图形,现在我们让它动一下,根据不同触摸情况来变更图形,这时就要用到Drawable一个子类StateListDrawable。...common_jia_selected图像,其余情况显示common_jia_normal图像

    69840

    妙用AccessibilityService黑科技实现微信自动加好友拉人进群聊

    大家好,又见面了,是你们朋友全栈君。...还记得那天早上,兴高采烈早早来到公司,更新了一波代码准备为 机器人添砖加瓦时候,当我关闭了阿里云上脚本,这时候意外来了, 机器人小号,再也无法通过微信网页端接口登录了!!!...TYPE_TOUCH_EXPLORATION_GESTURE_END 触摸浏览事件完成 TYPE_WINDOW_CONTENT_CHANGED 窗口内容发生变化,子树根布局发生变化 TYPE_VIEW_SCROLLED...: 除了这样玩以外,还利用时间差,串行去执行几个任务,比如: 上面的步骤是: 进入群聊聊天信息页,列表滚动两次,接着依次: 1.延时1s,找到添加成员按钮并点击; 2.延时2.3s,把名字填充到...EditText里 3.延时3s,点击确定按钮 就不用过于依赖onAccessibilityEvent方法,除了用handler.postDelay外, 还可以用Thread.sleep(休眠时长

    3.1K40

    关于EditText屏蔽焦点问题,及为什么clearFocus()方法失效了?

    我们有时候需求时,EditText 在不需要时候,无法点击,或者取消它默认焦点。 我们先看看通用解决方法。...setFousable() //设置该视图是否可以接收焦点 setFocusableInTouchMode(); //设置该视图在触摸模式下是否可以接收焦点 这里借鉴大佬解释。 ​...而后者,显然是针对触屏情况下,也就是我们点击屏幕某个控件时,不要立即执行相应点击逻辑,而是先显示焦点(即控件被选中),再点击执行逻辑。...="false" 按照上面的解决方案,现在有5个 EditText,很多人会写出下面的例子: EditText e1; ......需要声明多少个呢 如果现在有十几个输入框呢?

    1.1K20

    5个Android 手势和动画方面深度面试题

    心里种花,人生不会荒芜,如果你也想一起成长,请点个关注吧。 面试题目1:解释Android中手势检测工作原理。 解答: Android中手势检测通常依赖于触摸事件传递和处理。...1、 事件分发: dispatchTouchEvent:在视图组(ViewGroup)中调用,用于分发触摸事件。...onTouchEvent:在View中调用,用于处理触摸事件。 2、 事件处理: 通过重写onTouchEvent方法来处理触摸事件,检测单击、长按、滑动等。...面试题目2:描述如何在Android中实现一个自定义手势识别器。...2、 优化布局: 使用ConstraintLayoutLinearLayout来减少布局复杂度。 3、 异步加载图片: 使用图片加载库(GlidePicasso)异步加载功能。

    4610

    让你应用完美适配平板

    也很简单,就是通过限定符进行限定,编写多套布局来进行适配,类似于下图这样:图片一般限定 Pad 布局使用是 sw600dp,目前在遇到 Pad 中显示都还算正常,没有出现太大问题。...API 调用,确定应用如何显示其 activity(并排堆叠),系统处理其余工作,根据创建配置确定呈现方式。...例如,为了只有用户在聊天框中输入消息时实现发送功能,应用可能只在特定 EditText(而不是 Activity)中监听 Enter 键。...右键点击会使应用显示上下文菜单所有操作(轻触并按住列表项)也应该对右键点击事件作出反应。为了处理右键点击事件,应用应注册 View.OnContextClickListener。...这方面最常见两个示例如下:通过改变鼠标指针图标,向用户表明某个元素是否具有交互行为,可点击或可修改当指针悬停在大型列表网格中项目上时,向这些项目添加视觉反馈View.setOnHoverListener

    2K50
    领券