android - 用textview顯示html時(shí)如何寫imagegetter獲取網(wǎng)絡(luò)圖片
問(wèn)題描述
項(xiàng)目需要實(shí)現(xiàn)圖文混排,后臺(tái)給出來(lái)的文本是html格式的,ui要求需要調(diào)整行間距,webview可以顯示各種標(biāo)簽,但是無(wú)法調(diào)整行間距,試著往span中添加line-height也失敗了,而且webview無(wú)法調(diào)整內(nèi)邊距,且webview中的內(nèi)容可以滑動(dòng),因此不太符合我們的要求最后決定還是使用textview來(lái)實(shí)現(xiàn),這樣可以調(diào)整各種樣式,但是在寫imagegetter的時(shí)候遇到一些問(wèn)題搜索了很久,都只是搜索到一些顯示本地圖片沒(méi)有顯示網(wǎng)絡(luò)圖片,網(wǎng)絡(luò)圖片的大致方向也是要保存到本地之后再顯示但是在保存的時(shí)候會(huì)有一些問(wèn)題,我保存時(shí)不知道為什么有ioexception關(guān)于imagegetter不知道有沒(méi)有什么其他的思路
private Html.ImageGetter imageGetter = new Html.ImageGetter() { @Override public Drawable getDrawable(String source) {String url = getApplicationContext().getExternalCacheDir().getPath() + '/image';File dir = new File(url);if (dir.exists()) { Drawable drawable = Drawable.createFromPath(url+source); if (drawable != null){return drawable; }}loadPic(source);return null; }};private void loadPic(final String source){ x.image().loadDrawable(source, ImageOptions.DEFAULT,new Callback.CommonCallback<Drawable>(){@Overridepublic void onSuccess(Drawable result) { super.onSuccess(result); saveImage(source,result,getApplicationContext()); textview.setText(Html.fromHtml(content,imageGetter,null));} });}private void saveImage(String name,Drawable result, Context context) { Bitmap bit = ((BitmapDrawable) result).getBitmap(); String url = context.getExternalCacheDir().getPath() + '/image'; File dir = new File(url); if (!dir.exists()) {dir.mkdirs(); } File file = new File(dir.getAbsolutePath(),name); if (file.exists()) {return url+name; } try {//這里會(huì)出現(xiàn)ioexceptionFileOutputStream fos = new FileOutputStream(file);bit.compress(Bitmap.CompressFormat.JPEG, 100, fos);fos.flush();fos.close();return url+name; } catch (IOException e) {e.printStackTrace();return null; }}
這是我的代碼,不知道又沒(méi)有什么其他的好方法解決
問(wèn)題解答
回答1:http://git.oschina.net/zzhouj...
在這里找到一個(gè),稍微修改一下可以使用,需要配置picasso,之后如果想到其他可以修改的方法會(huì)貼上來(lái)
回答2:https://github.com/Sufficient...有這樣一個(gè)工具,但并不完美。圖片可以自動(dòng)從網(wǎng)絡(luò)加載,但是沒(méi)有本地緩存,而且加載的過(guò)程也是異步的,所以你布局的高度會(huì)變得不確定,如果是在listview中的話不推薦使用。
回答3:之前用過(guò)這個(gè),還不錯(cuò),也有默認(rèn)的imagegetter方案,可以參考下。https://github.com/Sufficient...
回答4:這還有一個(gè)https://github.com/angebagui/...
相關(guān)文章:
1. docker容器呢SSH為什么連不通呢?2. docker start -a dockername 老是卡住,什么情況?3. docker - 各位電腦上有多少個(gè)容器啊?容器一多,自己都搞混了,咋辦呢?4. Android TextView 或 ListView 加載過(guò)渡效果5. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””6. python-mysql Commands out of sync7. 【python小白】 問(wèn)關(guān)于之初始化一次對(duì)象的問(wèn)題8. Python列表或者字典里面的中文如何處理?9. 爬蟲圖片 - 關(guān)于Python 爬蟲的問(wèn)題10. python - (初學(xué)者)代碼運(yùn)行不起來(lái),求指導(dǎo),謝謝!
