美文网首页程序员Android
Android富文本图文混排

Android富文本图文混排

作者: 吃泥巴的猫 | 来源:发表于2018-12-09 23:56 被阅读17次

在项目中有时候会遇到富文本的图文混排
先放demo地址
HtmlResolve
效果图:

富文本解析效果图
其中module,html_resolve为html解析,如果返回的html中img路径不全需要配置Constans中的IMAGE_URL为图片地址前缀
在activity中设置:
oncreate方法中对富文本方法进行初始化:
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;
            }
        }
    };

相关文章

网友评论

    本文标题:Android富文本图文混排

    本文链接:https://www.haomeiwen.com/subject/xcqlhqtx.html