由"輪播圖"setImageDrawable引發(fā)的一場(chǎng)災(zāi)難

? ? ? 最近在做一個(gè)輪播圖,本來(lái)想著能夠用于公司項(xiàng)目中,可是公司竟然沒(méi)有用到漱办,自己就研究了一下~

? ? ? 可是沒(méi)想到的是,在自己的考慮之內(nèi)婉烟,換幾個(gè)可顯示的方法來(lái)看娩井,竟然出現(xiàn)了讓人意想不到的后果,難不成是自己像的太多似袁?一大段問(wèn)號(hào)......所以洞辣,我便自己在這幾天一直搜查各種資料,好吧昙衅,先從開(kāi)始慢慢講吧~

最終實(shí)現(xiàn)的效果圖扬霜,如下:

我的實(shí)現(xiàn)思路是:

1、自定義View繼承自ViewPager(這里我的ViewPager還要在繼承一個(gè)FrameLayout而涉,因?yàn)槲疫€要在ViewPager上畫(huà)指示點(diǎn)圖著瓶,就是所謂的小圓點(diǎn),所以先定義一個(gè)繼承自FrameLayout的View,在這里要addview上繼承自ViewPager的自定義View且add上小圓點(diǎn))

2啼县、在自定義view上布局材原,加入輪播控制,利用viewPager的postDelayed方法定時(shí)的更新viewpager的選中狀態(tài)

3季眷、監(jiān)聽(tīng)viewPager的addOnPageChangeListener事件余蟹,利用setSelected方法來(lái)更新小圓點(diǎn)的選中狀態(tài)

? ? ?因?yàn)槲蚁氚演啿D給繼承成一個(gè)lib,可以被大家來(lái)廣泛使用子刮,所以威酒,在自定義view上addview小圓點(diǎn)的時(shí)候,小圓點(diǎn)圖片用自定義屬性定義的,我把小圓點(diǎn)的image用setImageResource來(lái)完成的兼搏,完美實(shí)現(xiàn)了上面的效果圖卵慰。

? ? ? ?然后我就在想,咦佛呻?既然可以用setImageResource來(lái)實(shí)現(xiàn)裳朋,那么用setImageDrawable也是可以的吧?有了這么個(gè)心思吓著,馬上就行動(dòng)了鲤嫡,可是沒(méi)有想到的是,在我完成代碼绑莺,實(shí)現(xiàn)效果圖的時(shí)候暖眼,小圓點(diǎn)的選中狀態(tài)竟然不聽(tīng)使喚了...哇哇大哭...如下:


開(kāi)始了我的尋果之路...

1、我在網(wǎng)上各種搜查setImageResource和setImageDrawable的區(qū)別纺裁,給出的最佳結(jié)果是诫肠,google建議使用setImageDrawable,因?yàn)閟etImageResource是在UI線程中對(duì)圖片讀取和解析的,所以有可能對(duì)一個(gè)Activity的啟動(dòng)造成延遲....

擦...突然蒙逼了欺缘。為啥我用setImageDrawable卻不能實(shí)現(xiàn)setSelected小圓點(diǎn)的選中狀態(tài)呢累驮?

2拗军、然后,我就開(kāi)始各種懷疑控妻,難不成是我自定義屬性取到的圖片drawable取得方法不對(duì)杠输?如果不對(duì)的話瞬内,小圓點(diǎn)圖片應(yīng)該也顯示不出來(lái)啊秽澳,也試用了各種獲取圖片drawable的方法诈乒,最終無(wú)果......

3、接著剿干,我又查了各種setSelected方法的使用和實(shí)現(xiàn)輪播圖的各種方法蜂怎,都沒(méi)有用到在自定義屬性中獲取圖片,賦值后怨愤,然后更新選中狀態(tài)的....我又在想難不成派敷,就不能這么用蛹批?

3撰洗、最后,我又開(kāi)始重寫(xiě)了這個(gè)輪播圖的實(shí)現(xiàn)腐芍,沒(méi)有集成lib差导,而是直接在一個(gè)app中進(jìn)行各種查看,然后猪勇,我給小圓點(diǎn)賦值圖片的時(shí)候设褐,沒(méi)有用自定義屬性去取...而是直接賦值到小圓點(diǎn)上...最后齊刷刷的...額...setImageResource和setImageDrawable竟然都可以完好的顯示上面的效果圖....

? ? ? 我突然感覺(jué)到.哦,原來(lái)是我的取圖片的時(shí)候在自定義屬性那里,如果沒(méi)有用到setSelected方法助析,使用setImageResource和setImageDrawable是都沒(méi)有問(wèn)題的犀被,最后,但是使用setSelected方法外冀,但是都不是從自定義屬性中取圖片寡键,那就都沒(méi)問(wèn)題。最終的結(jié)果雪隧,使用setSelected方法西轩,在自定義屬性中獲取到圖片,必須使用setImageResource方法....

不知道對(duì)不對(duì)脑沿,各位大神來(lái)指正藕畔,thanks....

項(xiàng)目地址:輪播圖實(shí)現(xiàn)代碼

> 如果此篇文章對(duì)您有幫助或者您很感興趣,那么小手指別忘了點(diǎn)個(gè)贊哦庄拇!么么噠注服,謝謝關(guān)注!歡迎star 和 follow ??

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末措近,一起剝皮案震驚了整個(gè)濱河市祠汇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌熄诡,老刑警劉巖可很,帶你破解...
    沈念sama閱讀 222,627評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異凰浮,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)袜茧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)笛厦,“玉大人,你說(shuō)我怎么就攤上這事裳凸〖桑” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,346評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵姨谷,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我瞎颗,道長(zhǎng)件甥,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,097評(píng)論 1 300
  • 正文 為了忘掉前任哼拔,我火速辦了婚禮引有,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘倦逐。我一直安慰自己,他們只是感情好导帝,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布穿铆。 她就那樣靜靜地躺著,像睡著了一般荞雏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上凤优,一...
    開(kāi)封第一講書(shū)人閱讀 52,696評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音筑辨,去河邊找鬼。 笑死暮现,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的栖袋。 我是一名探鬼主播抚太,決...
    沈念sama閱讀 41,165評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼尿贫!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起帅霜,我...
    開(kāi)封第一講書(shū)人閱讀 40,108評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤身冀,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后搂根,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體珍促,經(jīng)...
    沈念sama閱讀 46,646評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡猪叙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評(píng)論 3 342
  • 正文 我和宋清朗相戀三年仁卷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锦积。...
    茶點(diǎn)故事閱讀 40,861評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖背蟆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情带膀,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布垛叨,位于F島的核電站柜某,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏莺琳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評(píng)論 3 336
  • 文/蒙蒙 一珍手、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧琳要,春花似錦秤茅、人聲如沸稚补。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,698評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)乍惊。三九已至,卻和暖如春润绎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背莉撇。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,804評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留其障,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,287評(píng)論 3 379
  • 正文 我出身青樓静秆,卻偏偏與公主長(zhǎng)得像巡李,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子侨拦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容