在android项目开发过程中,设计有要求特殊的输入框光标,研究后,通过如下方式可以自定义光标样式;
自定义样式text_curso_style.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="#30CFDF" />
</shape>
在使用的时候如此使用:
searchText.setPadding(UIUtil.getResolutionValue(15), UIUtil.getResolutionValue(4), 0, 0);
try
{
// https://github.com/android/platform_frameworks_base/blob/kitkat-release/core/java/android/widget/TextView.java#L562-564
Field f = TextView.class.getDeclaredField("mCursorDrawableRes");
f.setAccessible(true);
f.set(searchText, R.drawable.text_cursor_style);
} catch (Exception e)
{
e.printStackTrace();
}