业务开发中自定义 EditText 光标不显示?

这里记录一个业务开发遇到的问题。最近996赶项目,UI 妹子说你这个输入框的光标颜色是红色的,不好看,我要换成橘黄的。好吧,那就修改下。
直接使用这个代码:


style.xml


结果在三星手机显示正常,但是测试同学说在 小米和华为手机,不显示光标,只有输入一个后,才会显示,但是光标也不闪动。
最后排查了下,具体原因是:textCursorDrawable 后面一定要跟 drawable ,否则某些手机厂商定制系统兼容不好,就显示不出来,或者不闪动。

解决办法是:
添加 edit_text_cursor.xml




    

    

    

style.xml


这样就显示正常了。
同此的理,很多我们在自己的手机或者测试机显示正常,但是不代表在所有手机显示正常,所有要多兼容,选择最安全的方式。