日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Html.from()加载网络图片

發布時間:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Html.from()加载网络图片 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

TextView加載帶有圖片的Html時,會顯示一個藍色的小框框,而不會顯示圖片

想要顯示圖片,就需要調用fromHtml(String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)方法。

重寫ImageGetter
先判斷drawable是否已經下載,沒有下載就開啟線程下載

Html.ImageGetter imageGetter = new Html.ImageGetter() {@Overridepublic Drawable getDrawable(String s) {if (pic != null) {Log.d("TAG", "顯示");return pic;}else {Log.d("TAG", "加載"+s);getPic(s);}return null;}};

下載圖片,并且等比例放大

private void getPic(final String s) {new Thread(new Runnable() {@Overridepublic void run() {try {final Drawable drawable = Drawable.createFromStream(new URL(s).openStream(), "");activity. runOnUiThread(new Runnable() {@Overridepublic void run() {if (drawable != null) {WindowManager wm = (WindowManager) activity.getSystemService(Context.WINDOW_SERVICE);DisplayMetrics outMetrics = new DisplayMetrics();wm.getDefaultDisplay().getMetrics(outMetrics);float picW = drawable.getIntrinsicWidth();float picH = drawable.getIntrinsicHeight();int width = outMetrics.widthPixels;drawable.setBounds(0,0,width,(int)((picH/picW)*width));pic = drawable;if (Build.VERSION.SDK_INT >= 24)text.setText(Html.fromHtml(resource,Html.FROM_HTML_MODE_COMPACT,imageGetter,null));elsetext.setText(Html.fromHtml(resource,imageGetter,null));}}});} catch (IOException e) {e.printStackTrace();}}}).start();}

最后附上自己用的工具欄

import android.app.Activity; import android.content.Context; import android.graphics.drawable.Drawable; import android.os.Build; import android.text.Html; import android.util.DisplayMetrics; import android.util.Log; import android.view.WindowManager; import android.widget.TextView; import java.io.IOException; import java.net.URL;/*** Created by CKZ on 2017/8/8.*/public class HtmlUtils {private static HtmlUtils instance;private Activity activity;private TextView text;private Drawable pic;private String resource;private HtmlUtils(Activity activity,TextView text){this.activity =activity;this.text = text;}public static HtmlUtils getInstance(Activity activity,TextView text){if (instance == null){instance = new HtmlUtils(activity,text);}return instance;}public void setHtmlWithPic(String resource){this.resource = resource;if (Build.VERSION.SDK_INT >= 24)text.setText(Html.fromHtml(resource,Html.FROM_HTML_MODE_COMPACT,imageGetter,null));elsetext.setText(Html.fromHtml(resource,imageGetter,null));}Html.ImageGetter imageGetter = new Html.ImageGetter() {@Overridepublic Drawable getDrawable(String s) {if (pic != null) {Log.d("TAG", "顯示");return pic;}else {Log.d("TAG", "加載"+s);getPic(s);}return null;}};/*** 加載網絡圖片* @param s*/private void getPic(final String s) {new Thread(new Runnable() {@Overridepublic void run() {try {final Drawable drawable = Drawable.createFromStream(new URL(s).openStream(), "");activity. runOnUiThread(new Runnable() {@Overridepublic void run() {if (drawable != null) {WindowManager wm = (WindowManager) activity.getSystemService(Context.WINDOW_SERVICE);DisplayMetrics outMetrics = new DisplayMetrics();wm.getDefaultDisplay().getMetrics(outMetrics);float picW = drawable.getIntrinsicWidth();float picH = drawable.getIntrinsicHeight();int width = outMetrics.widthPixels;drawable.setBounds(0,0,width,(int)((picH/picW)*width));pic = drawable;if (Build.VERSION.SDK_INT >= 24)text.setText(Html.fromHtml(resource,Html.FROM_HTML_MODE_COMPACT,imageGetter,null));elsetext.setText(Html.fromHtml(resource,imageGetter,null));}}});} catch (IOException e) {e.printStackTrace();}}}).start();} }

然后再Activity中調用
HtmlUtils.getInstance(this,texthtnl).setHtmlWithPic(resource); 即可。

總結

以上是生活随笔為你收集整理的Html.from()加载网络图片的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕91在线 | 精品福利在线观看 | 一及黄色大片 | 国模大尺度自拍 | 欧美日韩大片在线观看 | 中国在线观看免费视频 | 欧美日韩一区二区在线播放 | 日韩激情影院 | 久久久久人妻一区 | 蜜桃又黄又粗又爽av免 | 成人一区二区av | 成人一区二区免费视频 | 在线国产三级 | 一区二区三区四区视频在线观看 | 亚洲无码高清精品 | 一道本在线观看视频 | 在线观看污视频网站 | 淫欲av | 91香蕉国产在线观看 | 国产欧美一区二区三区视频在线观看 | 尹人综合在线 | 欧美亚洲日本 | 成人免费一区二区 | 成人午夜淫片免费观看 | 米奇影音 | 在线观看国产网站 | 丰满尤物白嫩啪啪少妇 | 丝袜一区二区三区 | 秘密基地在线观看完整版免费 | 欧美三级午夜理伦三级小说 | 久久精品h | 久久久久久久影视 | 国产盗摄精品 | 国产精品jizz | 性欧美videos高清hd4k | 国产精品中文在线 | 久草视频在 | 一区二区激情 | 51av在线 | 成人国产精品一区 | 久草资源在线播放 | 青草久久久 | 五月激情四射网 | 婷婷亚洲五月 | 少妇高潮视频 | 啪啪啪毛片 | 一区二区三区国 | 91精品一区二区三区在线观看 | 日本毛片在线 | 99久久精品免费看国产免费软件 | 青青伊人久久 | 精品国产午夜福利在线观看 | 日韩一区免费 | japanese强行粗暴 | 久艹在线视频 | 国产区精品在线 | www色网站 | 欧美精品久久96人妻无码 | 琪琪色综合网 | 中文字幕二 | 免费看一级一片 | 中文字幕超清在线观看 | 天天色综合1 | 一区二区三区国产av | 黄色片免费在线观看 | 日本黄色性视频 | 亚洲精品视频在线观看视频 | 韩国视频一区 | 91麻豆蜜桃一区二区三区 | 日日操夜夜干 | 欧美日韩国产第一页 | 法国空姐电影在线 | 中文字幕丰满孑伦无码专区 | 亚洲视频播放 | 99久久久久久久久 | 国产成人自拍视频在线观看 | 亚洲综合色吧 | 天天舔天天操天天干 | chien国产乱露脸对白 | 成人欧美一区二区 | 成人禁污污啪啪入口 | 亚洲国产精彩视频 | 亚洲av无码一区二区三区网站 | 三级全黄视频 | 97成人资源| 插吧插吧综合网 | 在线观看日韩中文字幕 | 一二三区视频 | 国产一区二区四区 | a级性生活视频 | 香蕉网站在线 | 欧美日韩专区 | 翔田千里一区二区三区av | 亚洲国产精品一 | 欧美欧美欧美欧美 | 黄网在线播放 | 中文字字幕在线中文乱码电影 | 欧美亚洲精品在线 | 高清av一区二区三区 |