
在项目中有时候会遇到富文本的图文混排
先放demo地址
HtmlResolve
效果图:
富文本解析效果图DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);htmlSpanner = new HtmlSpanner(this, dm.widthPixels, handler);通过调用setInfo方法对html进行解析并将解析到的图文信息显示到textview上
private void setInfo() { new Thread(new Runnable() { @Override public void run() { final Spannable spannable = htmlSpanner.fromHtml(html); runOnUiThread(new Runnable() { @Override public void run() { textView.setText(spannable); textView.setMovementMethod(LinkMovementMethodExt.getInstance(handler, ImageSpan.class)); } }); } }).start(); }在handler中获取富文本中的图片地址,假如富文本中为多图,会屡次进入该方法,可定义一个list来接收图片地址,实现预览图的功能。
@SuppressLint("HandlerLeak") final Handler handler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case 1://获取图片路径列表 String url = (String) msg.obj; Log.e("jj", "url>>" + url); break; } } };