Android部分機(jī)型屬性android:textCursorDrawable失效處理

在實(shí)際開(kāi)發(fā)過(guò)程中,會(huì)有對(duì)輸入框光標(biāo)屬性(大小,顏色)進(jìn)行修改的需求,系統(tǒng)給我們提供了屬性android:textCursorDrawable以便修改,但對(duì)于自定義rom的系統(tǒng),如華為mate s,小米等部分機(jī)型并不支持,設(shè)置失效,此時(shí),需要通過(guò)反射方式來(lái)更改cursor的值達(dá)到修改輸入框光標(biāo)屬性需求。具體代碼如下:

int drawable = typedArray.getResourceId(R.styleable.MyCursorEditText_textCursorDrawable, 0);

if (drawable !=0) {

Field setCursor = TextView.class.getDeclaredField("mCursorDrawableRes");

? ? setCursor.setAccessible(true);

? ? setCursor.set(this, drawable);

}

通過(guò)獲取自定義屬性光標(biāo)背景屬性shape文件,通過(guò)反射方式將值設(shè)進(jìn)去就可以了。shape示例文件如下:

<shape xmlns:android="http://schemas.android.com/apk/res/android">

? ? <size android:width="1dp" />

? ? <solid android:color="#fff" />

</shape>



? ?

? ?

? ?

? ?

? ?

? ?

? ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容