Android WebView圖片適配解決方案

WebView的各種坑帖蔓,今天又讓我發(fā)現(xiàn)一個(gè)企软。

一庐扫、懵逼

最近公司項(xiàng)目中新聞模塊需要用WebView來(lái)加載,而且服務(wù)端返回的是String類(lèi)型的html代碼仗哨,包含各種標(biāo)簽形庭,各種轉(zhuǎn)義符,一開(kāi)始直接用loadDataWithBaseURL()加載的時(shí)候厌漂,出現(xiàn)各種&lt;萨醒、&gt;,直接懵逼了苇倡,后面一查富纸,只是因?yàn)檗D(zhuǎn)義符的關(guān)系,那直接用String類(lèi)的replace()方法替換成對(duì)應(yīng)的<旨椒、>晓褪,就搞定了。

但是當(dāng)新聞里面的圖片大于屏幕寬度時(shí)综慎,會(huì)出現(xiàn)橫向滾動(dòng)條辞州,圖片也只顯示部分,向右滾動(dòng)屏幕才能看到剩余的圖片內(nèi)容寥粹,這樣極不方便变过,也不美觀。

網(wǎng)上搜索了一番涝涤,有種解決方案是直接把整個(gè)WebView的綻放比例變小媚狰,適配屏幕,這樣出來(lái)的圖片是適配屏幕了阔拳,但是文字就變得非常小崭孤,完全就是把PC端網(wǎng)頁(yè)塞進(jìn)手機(jī)的感覺(jué)了类嗤。

二、轉(zhuǎn)機(jī)

突然看到泡在網(wǎng)上的日子大哥的一篇文章WebView加載圖片超過(guò)屏幕大小的問(wèn)題辨宠,說(shuō)的是讓PC端在img標(biāo)簽里面配置一下最大寬度就可以解決了:

<style>
 
img{
 max-width:80%;
 height:auto;
}
 
</style>

三遗锣、再次懵逼

趕緊聯(lián)系服務(wù)端人員,結(jié)果被告知嗤形,這是使用某個(gè)框架做出來(lái)的效果精偿,沒(méi)辦法修改里面的樣式,這不又再次懵逼了嗎...

四赋兵、柳暗花明又一村

程序員都是打不死的蟑螂笔咽,只要有一線希望,就要努力去實(shí)現(xiàn)自己的價(jià)值霹期,不叶组,保住自己的飯碗。

上面泡網(wǎng)大哥的方法历造,其實(shí)就是給img設(shè)置樣式甩十。那服務(wù)端搞不定,就只能我們客戶(hù)端這邊來(lái)做了吭产,能不能我們直接給每個(gè)img標(biāo)簽都加上最大寬度的限制呢侣监?既然我們能把轉(zhuǎn)義符替換掉,那是不是也能用同樣的方法來(lái)加樣式呢垮刹?

五达吞、解決方案

答案是肯定的张弛,在我們獲取到的String類(lèi)型的html代碼里面荒典,我們已經(jīng)把轉(zhuǎn)義符replace成我們實(shí)際需要的字符,這時(shí)候我們就能取到img的標(biāo)簽了(<img>)吞鸭,那只要加上如下的代碼寺董,就可以了:

htmlData = htmlData.replace("<img", "<img style='max-width:90%;height:auto;'");

原理就是上面分析的,在每個(gè)img標(biāo)簽里面刻剥,加上最大寬度和高度的控制遮咖,最大寬度比例可以根據(jù)需要自由設(shè)置。經(jīng)過(guò)測(cè)試造虏,暫時(shí)沒(méi)發(fā)現(xiàn)問(wèn)題御吞,如果大家有發(fā)現(xiàn)問(wèn)題,或者有其它的解決方案漓藕,歡迎隨時(shí)給我留言陶珠。

PS:歡迎關(guān)注SherlockShi博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市享钞,隨后出現(xiàn)的幾起案子揍诽,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件暑脆,死亡現(xiàn)場(chǎng)離奇詭異渠啤,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)添吗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)沥曹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人根资,你說(shuō)我怎么就攤上這事架专。” “怎么了玄帕?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵部脚,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我裤纹,道長(zhǎng)委刘,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任鹰椒,我火速辦了婚禮锡移,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘漆际。我一直安慰自己淆珊,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布奸汇。 她就那樣靜靜地躺著施符,像睡著了一般。 火紅的嫁衣襯著肌膚如雪擂找。 梳的紋絲不亂的頭發(fā)上戳吝,一...
    開(kāi)封第一講書(shū)人閱讀 49,079評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音贯涎,去河邊找鬼听哭。 笑死,一個(gè)胖子當(dāng)著我的面吹牛塘雳,可吹牛的內(nèi)容都是我干的陆盘。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼败明,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼隘马!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起肩刃,我...
    開(kāi)封第一講書(shū)人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤祟霍,失蹤者是張志新(化名)和其女友劉穎杏头,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體沸呐,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡醇王,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了崭添。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寓娩。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖呼渣,靈堂內(nèi)的尸體忽然破棺而出棘伴,到底是詐尸還是另有隱情,我是刑警寧澤屁置,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布焊夸,位于F島的核電站,受9級(jí)特大地震影響蓝角,放射性物質(zhì)發(fā)生泄漏阱穗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一使鹅、第九天 我趴在偏房一處隱蔽的房頂上張望揪阶。 院中可真熱鬧,春花似錦患朱、人聲如沸鲁僚。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)冰沙。三九已至,卻和暖如春姐直,著一層夾襖步出監(jiān)牢的瞬間倦淀,已是汗流浹背蒋畜。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工声畏, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人姻成。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓插龄,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親科展。 傳聞我的和親對(duì)象是個(gè)殘疾皇子均牢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,515評(píng)論 25 707
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程,因...
    小菜c閱讀 6,358評(píng)論 0 17
  • 前言 Android的屏幕適配一直以來(lái)都在折磨著我們Android開(kāi)發(fā)者才睹,本文將結(jié)合: Google的官方權(quán)威適配...
    Carson帶你學(xué)安卓閱讀 305,509評(píng)論 140 1,735
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理徘跪,服務(wù)發(fā)現(xiàn)甘邀,斷路器,智...
    卡卡羅2017閱讀 134,600評(píng)論 18 139
  • 人的一生到底有多長(zhǎng)垮庐?二十幾歲的年紀(jì)就是風(fēng)華正茂松邪?地方臺(tái)的新聞總報(bào)道豆蔻年華的孩子意外身亡,正值青春的孩子身患絕癥哨查。...
    零售業(yè)毛毛蟲(chóng)閱讀 139評(píng)論 0 0