背景:
最近需要開(kāi)發(fā)一套播放器UI插件磁浇,采用自定義屬性的方式來(lái)實(shí)現(xiàn)切換主題色和控件樣式的功能斋陪,其中就涉及到seekbar和progressbar切換樣式的部分,通過(guò)自定義屬性注入了幾個(gè)drawable之后,代碼設(shè)置這些資源到seekbar到背景色无虚,進(jìn)度色缔赠,滑塊上之后,發(fā)生了滑塊與進(jìn)度條錯(cuò)位的問(wèn)題友题;設(shè)置到progressbar上面之后發(fā)生了進(jìn)度無(wú)法更新到問(wèn)題嗤堰。
度娘之后:
關(guān)于seekbar的問(wèn)題都是說(shuō)要在drawable文件里面添加<clip>標(biāo)簽,使drawable可裁切度宦。然而我的drawable文件都是設(shè)置好的踢匣。之后就摸不到頭腦了。
解決:
最終發(fā)現(xiàn)戈抄,TypeArray的getDrawable()方法和Resource的getDrawable()方法獲取的drawable對(duì)象不同符糊,使用Resource獲取的沒(méi)有任何問(wèn)題,所以要使用TypeArray得到resourceId呛凶,然后再用Resource獲取drawable對(duì)象。