Android TextView解析html調(diào)研

效果圖

Paste_Image.png

相關(guān)接口

<code>
public final void setText(CharSequence text)</code>
TextView 設(shè)置顯示內(nèi)容的接口懈糯;

<code>public static Spanned fromHtml(String source, ImageGetter imageGetter, TagHandler tagHandler)</code>
Html 類中用于解析html資源的接口咕别,source 表示html內(nèi)容咐柜,ImageGetter 是圖片下載器,TagHandler 是標(biāo)簽解析器缔御,返回值Spanned 是一個接口钥弯,繼承自CharSequence;

<code>public static Spanned fromHtml(String source)</code>
實(shí)際上是調(diào)用的上面的接口休讳,ImageGetter 和 TagHandler 都傳值為null 。這種情況下就只能支持默認(rèn)的html標(biāo)簽解析以及無法進(jìn)行圖片加載尿孔,這種情況下俊柔,demo的顯示會變成


Paste_Image.png

Android TextView 本身支持的 html標(biāo)簽類型:


Paste_Image.png

圖片加載器的設(shè)置

ImageGetter 實(shí)際上是一個接口,提供了一個方法活合,
<code>public Drawable getDrawable(String source);</code>
它的調(diào)用發(fā)生在解析到img標(biāo)簽的時候雏婶,會去同步的加載圖片資源

Paste_Image.png

明顯的是,網(wǎng)絡(luò)圖片的下載以及加載時不能夠通過同步接口完成的白指,必須通過異步線程實(shí)現(xiàn)下載留晚,成功后回調(diào)顯示

圖片下載器的實(shí)現(xiàn)

標(biāo)簽解析器的擴(kuò)展

TagHandler 同樣是一個接口,提供方法
<code>public void handleTag(boolean opening, String tag, Editable output, XMLReader xmlReader);</code>
需要額外解析一些標(biāo)簽的時候告嘲,實(shí)現(xiàn)對應(yīng)的方法即可

解析顯示列表

顯示內(nèi)容點(diǎn)擊事件的獲取

TextView 提供方法 setMovementMethod(MovementMethod movement)错维,設(shè)置MovementMethod 對象,重寫其onTouchEvent()方法橄唬,就可以獲取到顯示內(nèi)容的點(diǎn)擊事件加以處理 赋焕。以下是圖片點(diǎn)擊事件和超鏈接點(diǎn)擊事件的獲取示例:

點(diǎn)擊事件獲取
不同點(diǎn)擊事件的監(jiān)聽

通過以上幾個步驟的處理,就可以得到開始的顯示效果仰楚,同時支持圖片超鏈接的點(diǎn)擊事件了宏邮,完整demo地址:HtmlTest
https://github.com/binye33333/android.git

發(fā)現(xiàn)的問題

  • 內(nèi)存問題
    圖片數(shù)據(jù)是一次性加載進(jìn)去的,不是根據(jù)顯示需要從緩存中獲取缸血。這里就會暴露一個問題,在大量圖片加載的時候械筛,頁面會大量的占用內(nèi)存資源捎泻,導(dǎo)致內(nèi)存溢出
    內(nèi)存不可控的問題導(dǎo)致了這種方案完全無法被采納,因?yàn)槲覀儾恢酪黄恼碌降讜卸啻蟮膱D片數(shù)據(jù)埋哟,除非給與約束笆豁;

  • 超鏈接的點(diǎn)擊背景


    Paste_Image.png

    超鏈接點(diǎn)擊后,內(nèi)容背景色沒有恢復(fù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末赤赊,一起剝皮案震驚了整個濱河市闯狱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌抛计,老刑警劉巖哄孤,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異吹截,居然都是意外死亡瘦陈,警方通過查閱死者的電腦和手機(jī)凝危,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晨逝,“玉大人蛾默,你說我怎么就攤上這事∽矫玻” “怎么了支鸡?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長趁窃。 經(jīng)常有香客問我牧挣,道長,這世上最難降的妖魔是什么棚菊? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任浸踩,我火速辦了婚禮,結(jié)果婚禮上统求,老公的妹妹穿的比我還像新娘检碗。我一直安慰自己,他們只是感情好码邻,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布折剃。 她就那樣靜靜地躺著,像睡著了一般像屋。 火紅的嫁衣襯著肌膚如雪怕犁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天己莺,我揣著相機(jī)與錄音奏甫,去河邊找鬼。 笑死凌受,一個胖子當(dāng)著我的面吹牛阵子,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播胜蛉,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼挠进,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了誊册?” 一聲冷哼從身側(cè)響起领突,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎案怯,沒想到半個月后君旦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年于宙,在試婚紗的時候發(fā)現(xiàn)自己被綠了浮驳。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡捞魁,死狀恐怖至会,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情谱俭,我是刑警寧澤奉件,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站昆著,受9級特大地震影響县貌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜凑懂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一煤痕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧接谨,春花似錦摆碉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至扫夜,卻和暖如春楞泼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背笤闯。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工堕阔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人颗味。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓印蔬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親脱衙。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評論 2 349

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

  • 一例驹、簡歷準(zhǔn)備 1捐韩、個人技能 (1)自定義控件、UI設(shè)計鹃锈、常用動畫特效 自定義控件 ①為什么要自定義控件荤胁? Andr...
    lucas777閱讀 5,190評論 2 54
  • 適合低齡兒童0-6歲,適合大齡兒童對照屎债,適合成人情緒管理對照及學(xué)習(xí) 情緒管理構(gòu)成:情緒仅政,行為垢油,動機(jī)。行為:看的到的...
    慧心萍道閱讀 939評論 0 1
  • 借助抖音的東風(fēng)硝枉,土味情話這個梗迅速在網(wǎng)絡(luò)上“橫行”,中國人向來就是比較靦腆的倦微,對于“我愛你”這樣的話很多人都不會說...
    網(wǎng)賺工作室閱讀 668評論 0 0
  • 一篇最近學(xué)的股票入門課程的總結(jié)分享妻味,通俗易懂,適合想要進(jìn)入股市和正在股市的人閱讀欣福。 目錄 了解股票背后賺錢的秘密 ...
    Neil彭彭閱讀 2,936評論 0 6