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

在焦点上更改EditText的图标颜色

是通过修改EditText的样式来实现的。具体步骤如下:

  1. 首先,在res目录下的values文件夹中创建一个名为styles.xml的文件(如果已存在则跳过此步骤)。
  2. 在styles.xml文件中添加一个新的样式,例如:
代码语言:txt
复制
<style name="EditTextStyle" parent="Widget.AppCompat.EditText">
    <item name="android:textColor">@color/default_text_color</item>
    <item name="android:textColorHint">@color/default_hint_color</item>
    <item name="colorControlNormal">@color/default_icon_color</item>
    <item name="colorControlActivated">@color/focused_icon_color</item>
</style>

其中,@color/default_text_color表示EditText默认文本颜色,@color/default_hint_color表示EditText默认提示文本颜色,@color/default_icon_color表示EditText默认图标颜色,@color/focused_icon_color表示EditText获取焦点时图标的颜色。

  1. 在布局文件中使用该样式,例如:
代码语言:txt
复制
<EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    style="@style/EditTextStyle" />
  1. 最后,在res目录下的colors.xml文件中定义颜色值,例如:
代码语言:txt
复制
<resources>
    <color name="default_text_color">#000000</color>
    <color name="default_hint_color">#808080</color>
    <color name="default_icon_color">#808080</color>
    <color name="focused_icon_color">#FF0000</color>
</resources>

其中,#000000表示黑色,#808080表示灰色,#FF0000表示红色。

这样,当EditText获取焦点时,图标的颜色会变为红色,其他情况下为灰色。

推荐的腾讯云相关产品:无

希望以上信息对您有所帮助!

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

相关·内容

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

特点 对比市面上EditText控件,该控件Super_EditText 的特点是: 3.1 功能实用 一键删除功能 在需求中非常常见,现将其封装后更加方便使用 可自定义样式程度高(比自带的强大 & 方便...上开源:Super_EditText 具备详细的源码分析文档(即本文) 所以,在其上做二次开发 & 定制化成本非常低。...(x,y,width,height),即必须设置过初始位置、宽和高等信息 // x:组件在容器X轴上的起点 y:组件在容器Y轴上的起点 width:组件的长度 height:组件的高度...、宽和高等信息 // x = 组件在容器X轴上的起点、y = 组件在容器Y轴上的起点、width=组件的长度、height = 组件的高度 // b....(x,y,width,height),即必须设置过初始位置、宽和高等信息 // x:组件在容器X轴上的起点 y:组件在容器Y轴上的起点 width:组件的长度 height:组件的高度

1.9K30

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

特点 对比市面上EditText控件,该控件Super_EditText 的特点是: 3.1 功能实用 一键删除功能 在需求中非常常见,现将其封装后更加方便使用 可自定义样式程度高(比自带的强大 & 方便...(x,y,width,height),即必须设置过初始位置、宽和高等信息 // x:组件在容器X轴上的起点 y:组件在容器Y轴上的起点 width:组件的长度 height:组件的高度...、宽和高等信息 // x = 组件在容器X轴上的起点、y = 组件在容器Y轴上的起点、width=组件的长度、height = 组件的高度 // b....(x,y,width,height),即必须设置过初始位置、宽和高等信息 // x:组件在容器X轴上的起点 y:组件在容器Y轴上的起点 width:组件的长度 height:组件的高度...总结 相信你一定会喜欢上 这款简单 & 好用的SuperEditText控件 已在Github上开源:Super_EditText

1.3K30
  • 【Android源码解析】 自定义可清除的输入框

    ,可以在输入框的旁边放一个小的清除图片,然后给Edittext和清除的小图片放到布局中,给布局来一个背景图片,看起来也比较美观的,然后根据edittext.getText().length来设置小图片是否可见...下面说一下自己的思路: 1.首先自定义组件继承edittext 2.重写构造方法,初始化一个清楚按钮的小图标,并设置它的位置 3.监听edittext的焦点改变,根据焦点变化显示隐藏小图标 4.重写一个小图标的按钮点击事件...贴上部分代码: /** * 这里我们不能设置edittext的点击事件,所以我们可以这样做一下: * 当我们按下的位置 是在(输入框的宽度-图标的宽度-图标距离右侧的宽度)和(输入框的宽度...-图标到右侧的宽度)之间 * 也就是说我们按下的位置处于图标的附近,设置输入框 * by Hankkin at:2015年8月11日 16:45:42 * @param...的焦点变化改变图片的显示与否,输入框里的字符串长度如果大于0,显示,否则隐藏 * by Hankkin at:2015年8月11日 16:32:47 * @param v

    82810

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

    // 传入的Drawable对象必须已经setBounds(x,y,width,height),即必须设置过初始位置、宽和高等信息 // x:组件在容器X轴上的起点 y:组件在容器Y...轴上的起点 width:组件的长度 height:组件的高度 } /** * 步骤3:通过监听复写EditText本身的方法来确定是否显示删除图标 * 监听方法:...的焦点,即是否选中 // setClearIconVisible() = 根据传入的是否选中 & 是否有输入来判断是否显示删除图标->>关注1 } @Override...switch (event.getAction()) { // 原理:当手指抬起的位置在删除图标的区域,即视为点击了删除图标 = 清空搜索框内容 case...删除图标的区域 // 当手指抬起的位置在删除图标的区域(X2=图标 = 清空搜索框内容

    3K10

    EditText 集锦 - 开发中常用的用法及遇到的各种坑

    前言 EditText ,文本输入框,一个再熟悉不过的的控件,在开发当中,我们需要经常用到。这边文章,主要是记录 EditText 的常用用法,需要的时候可以直接复制张贴,提高效率。...:textColorHighlight //设置被选中字体的颜色.默认为 Theme 主题中的 “colorAccent”的颜色. textCursorDrawable //设置被光标的颜色.默认为 Theme...@null"设置背景为透明.当我们设置背景后,EditText的那条线就会消失. android:textAppearance //设置文本的颜色,字体,大小和样式. android:digits //...默认获取焦点 EditText 默认获取焦点,并弹出键盘,这本来是默认的行为。..., 0); } 取消 EditText 默认获取焦点的行为 在EditText的父级控件中找一个,添加这两个属性: android:focusable="true" android:focusableInTouchMode

    2.3K20

    Android EditText使用详解-包含很多教程上看不到的功能演示

    三:长度和空白提示文字,提示文字颜色,是否可编辑等 EditText有一些属性可以设置EditText的特性,比如最大长度,空白提示文字等。...EditText为我们提供了android:hint来设置当EditText内容为空时显示的文本,这个文本只在EditText为空时显示,你输入字符的时候就消失了,不影响你的EditText的文本。。...看到了吧,颜色已经变了。。 还有一个比较实用的功能,就是设置EditText的不可编辑。设置android:enabled=“false”可以实现不可编辑,可以获得焦点。...在Android中没有专门的文本域组件,但是可以通过设置EditText的高来实现同样的文本域功能。修改main.xml如下: 在一个搜索中,我们输入要搜索的文本,然后按Enter表示要去搜索了,但是默认的Enter键显示的是“完成”文本,看着不太合适,不符合搜索的语义,如果能显示“搜索”两个字或者显示一个表示搜索的图标多好

    3.9K20

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

    mClearDrawable.getIntrinsicHeight()); setClearIconVisible(false); setOnFocusChangeListener(this); //注册一个回调,以便在该视图的焦点发生改变时调用...addTextChangedListener(this); } /** * 因为我们不能直接给EditText设置点击事件,所以我们用记住我们按下的位置来模拟点击事件...* 当我们按下的位置 在 EditText的宽度 - 图标到控件右边的间距 - 图标的宽度 和 * EditText的宽度 - 图标到控件右边的间距之间我们就算点击了图标,竖直方向没有考虑...} } return super.onTouchEvent(event); } /** * 当ClearEditText焦点发生变化的时候...,判断里面字符串长度设置清除图标的显示与隐藏 */ @Override public void onFocusChange(View v, boolean hasFocus)

    67440

    Material Design整理(一)——TextInputLayout

    github地址:https://github.com/shuaijia/MaterialDesignProject 添加依赖 TextInputLayout是在Material Design中的,如果我们要使用的话...,必须在gradle文件中配置 开始使用 TextInputLayout是一种新的继承自LinearLayout的布局,使用时其只能包含一个EditText或其子类控件(如AutoCompleteTextView...举例 浮动标签 字数统计 错误提示 密码框右侧图标 虚拟键盘监听 有时候我们在用虚拟键盘的时候,在输入账号之后,我们点击下一项,焦点会跑到输入密码这一栏,当我们密码输入完成之后,点击确定按钮就能登录了...,这个怎么实现的呢....账号EditText中 密码EditText中 AutoCompleteTextView –自动提示输入框 继承自EditText,拥有EditText的所有属性,可以设置在输入时自动在输入框下方提示信息

    50430

    《Android》Lesson21-广播+SharedPreferences

    (2)editText.requestFocus();获取焦点 android editText 获取焦点 - lucky8star的专栏 - 博客频道 - CSDN.NET Android中EditText...中字体颜色的selector - 博客频道 - CSDN.NET (3)editText改变字体颜色 SpannableString ss = new SpannableString("你要写的内容")...;//设置0-2的字符颜色 ss.setSpan(new ForegroundColorSpan(Color.RED), 0, 2,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);...txtInfo.setText(ss); Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性 - 享受技术带来的快乐 - 博客频道 - CSDN.NET...- 博客频道 - CSDN.NET 解决在BroadcastReceiver(广播接受者)中不能添加AlertDialog(对话框)的问题(android.view.WindowManager$BadTokenException

    61250

    Android开发常用的知识点

    如果用户旋转设备这屏幕会横竖屏切换 nosensor–忽略物理感应器,这样就不会随着用户旋转设备而更改了(”unspecified”设置除外) 移除 View 的背景色 setBackgroundResource...尺寸上做标注 EditText 去掉下划线 android:background="@null" 光标颜色和文字一样 android:textCursorDrawable="@null" 自定义光标颜色...在非EditText的控件中找一个,设置成 android:focusable="true" android:focusableInTouchMode="true" 软键盘不遮挡 解决Android软键盘在全屏下设置..." //密码输完后 把焦点放到登录按钮上 android:imeOptions="actionDone" android:nextFocusForward="@+id/login_button" 但是这样并没有点击登录...系统将自动选择这些模式中一种主要依赖于是否窗口的内容有任何布局视图能够滚动他们的内容。如果有这样的一个视图,这个窗口将调整大小,这样的假设可以使滚动窗口的内容在一个较小的区域中可见的。

    2.6K10

    这些Android系统样式中的颜色属性你知道吗?

    colorAccent 许多控件在选中状态或者获取到焦点的时候会使用这个颜色,比如: CheckBox:checked 状态 RadioButton:checked 状态 SwitchCompat:checked...状态 EditText:获取焦点的时候的下划线和光标颜色 TextInputLayout:悬浮 label 字体颜色 等等 android:navigationBarColor navigation...比如: 没有被选中的 CheckBox 或者没有被选中的 RadioButton 失去焦点时的 EditText ,Toolbar 溢出按钮颜色 等等 colorControlActivated 在某些时候...这种设置和 Button 的 android:background 所不同的是,在 Android5.0 或者更高的版本上使用 colorButtonNormal 的时候会依然保持阴影和 Ripple...,比如 actionbar 文本的颜色,比如 Button 中的文本颜色,EditText 中的文本颜色,AlertDialog 中的文本颜色。

    1.9K10

    Android开发笔记(一百四十六)仿支付宝的支付密码输入框

    编辑框EditText算是Android的一个基础控件了,表面上看,EditText只负责接收用户手工输入的文本;可实际上,要把这看似简单的文本输入做得方便易用,并不是一个简单的事情...当然,在界面展现上,需要以横排方格的形式加以显示。于是可以考虑,把支付密码的输入与显示操作分离开来,即密码输入操作仍由EditText处理,而密码显示操作则由自定义的方格布局接管。...对于处理密码输入的EditText来说,需要实现以下几项操作: 1、把默认的下划线背景替换为圆角背景,且支持在获得焦点时高亮显示; 2、屏蔽输入光标,可调用setCursorVisible方法设置为不可见...,队列长度为6; 2、每项密码文本控件都是一个TextView,文字居中对齐; 3、往布局上添加TextView队列时,在相邻的TextView之间要添加一条竖线,也就是宽度为1的灰色View; 4、依据转换规则...其次,对于支付密码输入框的焦点获得问题,因为该输入框内部集成了EditText,所以不管是给输入框注册点击事件还是触摸事件,手势焦点都会被内部的EditText所抢占,使得密码输入框反而不会响应点击和触摸事件

    1.9K30

    Android富文本开发

    如果一个富文本是:文字1+图片1+文字2+文字3+图片3+图片4;那么使用LinearLayout包含多个EditText实现的难点: 如何处理记录当前的焦点区域 如何处理在文字区域的中间位置插入ImageView...压缩后的图片大小应该和用来展示它的控件大小相近,在一个很小的ImageView上显示一张超大的图片不会带来任何视觉上的好处,但却会占用相当多宝贵的内存,而且在性能上还可能会带来负面影响。...使用LayoutTransition类在一个ViewGroup中对布局更改进行动画处理。...对于光标前面的字符串保留,设置给当前获得焦点的EditText(此为分割出来的第一个EditText) 把光标后面的字符串放在新创建的EditText中(此为分割出来的第二个EditText) 在第二个...="true" (效果:软键盘不弹出,光标不显示,其他输入框也不获取焦点,ps非直接父布局没有效果) 在父布局最顶部添加一个高度为0的EditText,抢了焦点但不展示; 软键盘遮挡界面的问题 当界面中有输入框

    8.5K20
    领券