給EditText設置光標顏色


其實對於EditText設置光標顏色很簡單,通過反射找到 mCursorDrawableRes屬性在改變


public static void setCursorDrable(EditText editText, int color) {
if (editText == null) {
return;
}
try {
Field mCursorDrawableRes = TextView.class.getDeclaredField("mCursorDrawableRes");
mCursorDrawableRes.setAccessible(true);
mCursorDrawableRes.setInt(editText, color);
} catch (Exception e) {
Logger.e(TAG, e);
}
}

這個int類型的color並不是十六進制的顏色值 而是xml文件


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


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com