自定义Edt 光标和下划线
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 光标和下划线相关推荐
- Android之自定义EditText光标和下划线颜色
最近在写些小Demo复习基础,在用到EditText的时候突然发现之前几乎没有注意到它的光标和下划线的颜色,于是花了不少时间,看了不少博客,现在就来总结和分享一下收获. 1.第一印象:原生的EditT ...
- 将光标从下划线变成竖线的方法
将光标从下划线变成竖线的方法: 按键盘上的insert键.
- mysql输入代码时光标变成下划线时 变回原来的竖线
输入代码时光标变成下划线时 变回原来的竖线 mysql按一下键盘上的insert键就可以了
- iOS 设置自定义间距的文字下划线
网上看到很多用NSAttributedString的NSUnderlineStyleAttributeName来设置的,方法很简便,网上也很多,就不发了. 效果如下: 下划线和文字没有间隔,贴在一起的 ...
- notepad++怎么解决光标变成下划线的问题?
找到键盘,在键盘上找到"Insert"键,点击此键,光标已变回竖线形式: 另外,如果你使用的是外接键盘,则在键盘上找到"Ins"键,点击此键,光标也是可以变成竖 ...
- Notepad++光标变成下划线,怎么取消
解决方法:我们在自己的电脑键盘上找到"Insert"键,点击此键,即可变回来; 在键盘Delete键旁边有个Insert键,是 插入/覆盖 模式的切换键,主要用于在文字处理器切换文 ...
- 如何自定义listview自带下划线的长度和颜色
有时候我们的listview当中需要实现listview下划线颜色和长度的改动,怎么做呢?xml直接改: 1.在drawable下建立一个自定义的布局,我的是:list_divider.xml: &l ...
- notepad++光标变成下划线,怎么变回来?
我们找到键盘,在键盘上找到"Insert"键,点击此键,即可变回来; 键盘Delete键旁边有个Insert键,是 插入/覆盖 模式的切换键,主要用于在文字处理器切换文本输入的模式 ...
- android自定义TextView添加虚线下划线
目前相关文字下方添加虚线的文章非常少,备选方案有: 文字下方添加一个drawable实现虚线样式 通过spannable方案自定义 通过textview的getpaint实现 实现自定义并绘制 最后还 ...
最新文章
- nginx域名配置虚拟主机
- Python学习前期准备---第九天
- 微信5.0登录提示服务器繁忙,iOS集成友盟社会化分享微信无法登录?
- python中模块和包是什么_Python中模块和包的概念
- Shadow DOM系列1-简介
- 人脸方向学习(三):人脸质量评价-人脸模糊检测总结二
- Mybatis的生命周期及作用域
- 【软件自动化测试】基于自设网站的软件测试与分析
- Linux dstat监控工具简讲
- 不会真有人觉得在广州、深圳这样的城市月薪过万很容易吧
- 【BZOJ2813】奇妙的Fibonacci(结论,线性筛)
- P2627 [USACO11OPEN]Mowing the Lawn G (单调队列优化dp)
- python不好找工作怎么办信用卡_利用python进行信用卡欺诈检测
- 圣诞小程序服务器,微信圣诞帽2018小程序_微信圣诞帽头像自动换预约_第一手游网...
- 链家地产改名链家 转型房产O2O
- 拳皇世界6月13服务器维护,拳皇世界闪退怎么办 对症下药马上好
- 打印后台程序服务没有运行,无法添加或使用打印机的处理方法
- Android 利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)
- 【操作系统】Linux内核和Windows系统的内核有什么区别?
- 基于FaceX-Zoo实现的Face Mask Adding人脸戴口罩