前幾天項(xiàng)目中發(fā)生了一件靈異事件。我的一個(gè)登錄頁(yè)面Edittext居然沒(méi)有光標(biāo)閃爍了。
我以為是誰(shuí)搶了焦點(diǎn),于是在代碼中動(dòng)態(tài)獲取焦點(diǎn),發(fā)現(xiàn)仍然沒(méi)有。由于項(xiàng)目緊張,沒(méi)有去扒源碼,找水友要到了答案。原來(lái)Edittext光標(biāo)默認(rèn)的顏色跟背景色一樣了,導(dǎo)致看不到了。所以產(chǎn)生以下解決方案,有跟蹤過(guò)源碼的兄弟希望在評(píng)論區(qū)留言。
解決辦法:在布局文件中指定androd:textCursorDrawable,如果需要設(shè)置成與字體一樣的顏色,該屬性設(shè)置為“@null”即可。如果要自定義顏色,需要自定義一個(gè)drawable文件,例如:在drawable下創(chuàng)建custom_cursor.xml,內(nèi)容如下
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="#000000" />
<size android:width="0.5dp"/>
</shape>
然后,設(shè)置android:textCursorDrawable="@drawable/custom_cursor",光標(biāo)顏色就可以改變?yōu)橹付伾?