欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

设置Editext的光标宽高与颜色

程序员文章站 2022-06-11 11:48:40
在Editext的布局属性上加上 android:textCursorDrawable="@drawable/cursor_shape" cursor_shape如下: 事实证明:设置android:height无效,应该用padding的方法。 top设置为-2dp :让光标顶部下移2dp bot ......

在editext的布局属性上加上

android:textcursordrawable="@drawable/cursor_shape"

 

cursor_shape如下:

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

    <padding
        android:top="-2dp"
        android:bottom="-2dp"/>
</shape>

事实证明:设置android:height无效,应该用padding的方法。

top设置为-2dp :让光标顶部下移2dp

bottom设置为-2dp:让光标底部上移2dp

这样子光标的高度就变小了4dp

 

从下面的源码可以大概看出原因:

private void updatecursorposition(int cursorindex, int top, int bottom, float horizontal) {
    ...
 
    mcursordrawable[cursorindex].getpadding(mtemprect);
 
    ...
 
    mcursordrawable[cursorindex].setbounds(left, top - mtemprect.top, left + width,
            bottom + mtemprect.bottom);
}