Android TextView解析Html图片标签

今天碰到一个后台返回Html标签的数据,一开始使用的方法是Html.fromhtml方法,但是那个图片只显示一个小框,点进去到详情之后才能真正显示出来。这样的效果体验太差了,于是我就换了一种方式来解析。下面是代码:

       //加载图片  我这个是在adapter里加载的数据  
        NetworkImageGetter imageGetter = new NetworkImageGetter(); //调用下面的方法
        Spanned spanned = Html.fromHtml(entity.getArt_content(), imageGetter, null);//调用下面的方法
        text.setText(spanned);//把解析完的数据放到组件中就可以了

private final class NetworkImageGetter implements Html.ImageGetter {
        @Override
        public Drawable getDrawable(String source) {
            // TODO Auto-generated method stub
            LevelListDrawable d = new LevelListDrawable();
            new LoadImage().execute(source, d);
            return d;
        }
    }
    /**** 异步加载图片 **/
    private final class LoadImage extends AsyncTask<Object, Void, Bitmap> {
        private LevelListDrawable mDrawable;
        @Override
        protected Bitmap doInBackground(Object... params) {
            String source = (String) params[0];
            mDrawable = (LevelListDrawable) params[1];
            try {
                InputStream is = new URL(source).openStream();
                return BitmapFactory.decodeStream(is);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }
        @Override
        protected void onPostExecute(Bitmap bitmap) {
            if (bitmap != null) {
                BitmapDrawable d = new BitmapDrawable(bitmap);
                mDrawable.addLevel(1, 1, d);
                mDrawable
                        .setBounds(0, 0, bitmap.getWidth(), bitmap.getHeight());
                // mDrawable.setBounds(0, 0,
                // getWindowManager().getDefaultDisplay().getWidth(),
                // bitmap.getHeight());
                mDrawable.setLevel(1);
                CharSequence t = holder.shouye_list_price.getText();
                holder.shouye_list_price.setText(t);
            }
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,953评论 25 709
  • HTML标签解释大全 一、HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(D...
    米塔塔阅读 8,679评论 1 41
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 我好久没看过电视剧了,这部《守护丽人》是我在人民日报上看到的诠释“感受温情和力量”的良心剧,心想,一定要过年和家人...
    竹Danica阅读 4,837评论 3 2
  • 面对不完美的演算法,赋予人们一些主控权,即使只有一点点,也能降低演算法趋避心理。 虚假的天地线给飞行员一种错觉,让...
    葛朗台商业简讯阅读 3,405评论 0 0

友情链接更多精彩内容