首页
学习
活动
专区
工具
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的宽度 - 图标到控件右边的间距之间我们就算点击了图标,竖直方向没有考虑

67440

EditText光标不会往后挪动的方法,edittext 禁止点击,点击后没有软键盘;挂载,byte 进制转化,byte中出现负数,EditText属性

"false" //不能呼输入; android:focusableInTouchMode="false" //没有onTouch焦点,不可点击; 我的代码,失去焦点,点击后没有软键盘 EditText...--设置允许输入哪些字符,如“1234567890.+-*/% ()”--> android:drawableRight="@drawable/xxx" 的间隔, 与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用, 可设置为负数,单独使用没有效果...--设置当文字过长时,该控件该怎样显示,例如设置以下值: "start"省略号显示在开头, "end"省略号显示在结尾,"middle"省略号显示在中间, "marquee"以跑马灯的方式显示(动画横向移动...--设置文本位置,如设置成"center",文本将居中显示--> EditText设置不可点击事件 android:focusable="false" //这是不能点击 android:enabled=

7200
  • 按钮和复选框控件

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

    你从未见过的EditText属性详解

    那么学习了这篇文章之后,开始尽情发挥你们的想象力开始搞事情吧~ 这一篇我们讲解 EditText的使用, EditText是一个输入框,在Android开发中是常用的控件。...--提示的颜色--> 2.获得焦点后全选组件内所有文本内容 android:selectAllOnFocus="true" 3.限制 EditText输入类型 EditText...--设置允许输入哪些字符,如“1234567890.+-*/% ()”--> android:drawableRight="@drawable/xxx" 显示,例如设置以下值:"start"省略号显示在开头,"end"省略号显示在结尾,"middle"省略号显示在中间,"marquee"以跑马灯的方式显示(动画横向移动)...--设置文本位置,如设置成"center",文本将居中显示--> 代码实例讲解 通过上面了解 EditText输入框的常用属性之后,结合上几讲 TextView、Button我们通过代码示例来讲解实现一个简单的登录页面效果

    3.3K10

    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自定义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.3K30

    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开源库:手把手教你实现一个简单好用的搜索框(含历史搜索记录)

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

    3K10

    一文学会所有 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.8K20

    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.在追加的父控件内时,可以指定布局的方式。 在动态添加完毕后,我们还需要能够获得对这些动态添加后的控件的值。...比如我添加一个文本框,我还想获得用户在这个文本框里填入的值。android的view控件里,都有个属性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

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

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

    1.2K20

    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图像。

    70540

    妙用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.2K40

    让你的应用完美适配平板

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

    2.1K50
    领券