EditText 有一个属性:android:textCursorDrawable ,它就是用来设置光标样式的。

我们可以在drawable资源文件夹下新建一个cursor_color.xml文件,内容如下

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><size android:width="2dp" /><solid android:color="@android:color/holo_blue_light" />
</shape>

然后设置

<EditTextandroid:textCursorDrawable="@drawable/cursor_color"

接下来是下划线颜色,先定义一个Style

<style name="MyEditText" parent="Theme.AppCompat.Light"><item name="colorControlNormal">@android:color/darker_gray</item><item name="colorControlActivated">@android:color/holo_orange_dark</item></style>

colorControlNormal  表示控件默认的颜色, colorControlActivated  表示控件被激活时的颜色,这样,我们就可以分别设置EditText不被选中和选中时的颜色了。

然后在要改样式的Edt里添加一条  android:theme="@style/MyEditText" 就可以了

但是这样子选中状态的下划线粗线还是和未选中不一样,如果要控制粗线,可以自己写一个drawable文件,内容用layer-list和selector 来做,如下

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_focused="true"><layer-list><item><shape><solid android:color="#cdcdcd"/></shape></item><item android:bottom="2dp"><shape><solid android:color="@color/white"/></shape></item></layer-list></item><item><layer-list><item><shape><solid android:color="#cdcdcd"/></shape></item><item android:bottom="1dp"><shape><solid android:color="@color/white"/></shape></item></layer-list></item>
</selector> 

这样用layer-list ,就可以控制下划线的颜色和粗细,具体layer-list 的用法,请百度

自定义Edt 光标和下划线相关推荐

  1. Android之自定义EditText光标和下划线颜色

    最近在写些小Demo复习基础,在用到EditText的时候突然发现之前几乎没有注意到它的光标和下划线的颜色,于是花了不少时间,看了不少博客,现在就来总结和分享一下收获. 1.第一印象:原生的EditT ...

  2. 将光标从下划线变成竖线的方法

    将光标从下划线变成竖线的方法: 按键盘上的insert键.

  3. mysql输入代码时光标变成下划线时 变回原来的竖线

    输入代码时光标变成下划线时  变回原来的竖线 mysql按一下键盘上的insert键就可以了

  4. iOS 设置自定义间距的文字下划线

    网上看到很多用NSAttributedString的NSUnderlineStyleAttributeName来设置的,方法很简便,网上也很多,就不发了. 效果如下: 下划线和文字没有间隔,贴在一起的 ...

  5. notepad++怎么解决光标变成下划线的问题?

    找到键盘,在键盘上找到"Insert"键,点击此键,光标已变回竖线形式: 另外,如果你使用的是外接键盘,则在键盘上找到"Ins"键,点击此键,光标也是可以变成竖 ...

  6. Notepad++光标变成下划线,怎么取消

    解决方法:我们在自己的电脑键盘上找到"Insert"键,点击此键,即可变回来; 在键盘Delete键旁边有个Insert键,是 插入/覆盖 模式的切换键,主要用于在文字处理器切换文 ...

  7. 如何自定义listview自带下划线的长度和颜色

    有时候我们的listview当中需要实现listview下划线颜色和长度的改动,怎么做呢?xml直接改: 1.在drawable下建立一个自定义的布局,我的是:list_divider.xml: &l ...

  8. notepad++光标变成下划线,怎么变回来?

    我们找到键盘,在键盘上找到"Insert"键,点击此键,即可变回来; 键盘Delete键旁边有个Insert键,是 插入/覆盖 模式的切换键,主要用于在文字处理器切换文本输入的模式 ...

  9. android自定义TextView添加虚线下划线

    目前相关文字下方添加虚线的文章非常少,备选方案有: 文字下方添加一个drawable实现虚线样式 通过spannable方案自定义 通过textview的getpaint实现 实现自定义并绘制 最后还 ...

最新文章

  1. nginx域名配置虚拟主机
  2. Python学习前期准备---第九天
  3. 微信5.0登录提示服务器繁忙,iOS集成友盟社会化分享微信无法登录?
  4. python中模块和包是什么_Python中模块和包的概念
  5. Shadow DOM系列1-简介
  6. 人脸方向学习(三):人脸质量评价-人脸模糊检测总结二
  7. Mybatis的生命周期及作用域
  8. 【软件自动化测试】基于自设网站的软件测试与分析
  9. Linux dstat监控工具简讲
  10. 不会真有人觉得在广州、深圳这样的城市月薪过万很容易吧
  11. 【BZOJ2813】奇妙的Fibonacci(结论,线性筛)
  12. P2627 [USACO11OPEN]Mowing the Lawn G (单调队列优化dp)
  13. python不好找工作怎么办信用卡_利用python进行信用卡欺诈检测
  14. 圣诞小程序服务器,微信圣诞帽2018小程序_微信圣诞帽头像自动换预约_第一手游网...
  15. 链家地产改名链家 转型房产O2O
  16. 拳皇世界6月13服务器维护,拳皇世界闪退怎么办 对症下药马上好
  17. 打印后台程序服务没有运行,无法添加或使用打印机的处理方法
  18. Android 利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)
  19. 【操作系统】Linux内核和Windows系统的内核有什么区别?
  20. 基于FaceX-Zoo实现的Face Mask Adding人脸戴口罩

热门文章

  1. 语文(文学)类智力竞赛题荟萃
  2. 单片机自制时钟(年月日星期时分秒显示、按键校准)
  3. nodejs 获取系统环境变量_Node.js中环境变量process.env的一些事详解
  4. UVa-1583 生成元
  5. C++八股文分享---进程
  6. 浅析:S2B2C模式
  7. 人才召集丨美团信息安全部 “职 ”等你来
  8. FPV无人机集训召集令~
  9. 计算机分子模拟聚乙烯,高分子物理虚拟实验讲义
  10. 在监控落地的路上,助你一臂之力