[Android开源]:EasyImageGetter帮你实现带网络图片的html图文混排!

栏目: Html · 发布时间: 5年前

内容简介:平时开发中。有时候我们会遇到需要使用此首先需要提供一个可用的带img标签的文本:img标签中的地址。为通用的uri地址,比如:

平时开发中。有时候我们会遇到需要使用 TextView 加载 html 标签的方式来做图文混排。但是系统自带的 Html 类。并没有提供默认的 img 标签解析器。而是需要自己去定义配置 ImageGetter 进行使用。

EasyImageGetter 组件即是提供的一种轻量且简洁的 ImageGetter 实现。

特性

placeholde
error

用法

提供带img标签的文本数据

首先需要提供一个可用的带img标签的文本:img标签中的地址。为通用的uri地址,比如:

private val html =
"""
<h5>asset图片加载示例</h5>
<img src="file:///android_asset/imagegetter/cat.png">
<h5>http图片加载示例</h5>
<img src="http://www.w3school.com.cn/i/eg_tulip.jpg">
""".trimIndent()
复制代码

可以看到。asset图片与网络图片均完美支持。当然如果需要。此处也可以配置本地图片进行展示

创建实例并进行展示:

EasyImageGetter.create().loadHtml(html, textView)
复制代码

加载效果图

[Android开源]:EasyImageGetter帮你实现带网络图片的html图文混排!

配置占位图

组件支持两种占位图:

EasyImageGetter.create()
    .setPlaceHolder(R.drawable.placeholder)// 设置在进行图片加载时的占位图
    .setError(R.drawable.error)// 设置在进行图片加载失败时的占位图
    .loadHtml(html, textView)
复制代码

配置额外加载器

在上面的基础用法示例中。 img 标签中的src支持任意的uri进行展示。而内部加载器是使用的 Glide (compileOnly方式依赖)

但是有时候我们可能会需要定制自己的加载器去进行图片解析。比如项目不支持Glide。或者src中的数据格式不为规则的uri时。

这个时候就可以使用额外加载器去进行自主图片解析了:

val imageGetter = EasyImageGetter.create()
imageGetter.setLoader { src -> // src为img标签中的原始src属性值
    // 此加载器回调运行于子线程中。所以可以在此直接进行图片解析操作。

    // 通过src数据进行自主drawable解析加载。并返回加载的drawable数据
    val drawable = parseFromSrc(src)
    // 若返回的drawable为null。表示需要使用内置加载器继续进行drawable解析。
    return drawable
}
复制代码

日志定位

有时候会出现加载失败的情况。这时候可以通过组件提供的关键字 EasyImageGetter 去进行日志过滤。便于进行问题定位

开源地址

EasyImageGetter是开源基础组件集成库 EasyAndroid 中的基础组件之一。

EasyAndroid 作为一款集成组件库,此库中所集成的组件,均包含以下特点,你可以放心使用~~

1. 设计独立

组件间独立存在,不相互依赖,且若只需要集成库中的部分组件。也可以很方便的 只copy对应的组件文件 进行使用

2. 设计轻巧

因为是组件集成库,所以要求每个组件的设计尽量精练、轻巧。避免因为一个小功能而引入大量无用代码.

每个组件的方法数均 不超过100 . 大部分组件甚至 不超过50

得益于编码时的 高内聚性 ,若你只需要使用EasyImageGetter. 那么可以直接去拷贝 EasyImageGetter源码文件 到你的项目中,直接进行使用,也是没问题的。

EasyAndroid开源库地址:

github.com/yjfnypeu/Ea…

EasyImageGetter组件地址:

github.com/yjfnypeu/Ea…


以上所述就是小编给大家介绍的《[Android开源]:EasyImageGetter帮你实现带网络图片的html图文混排!》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

大型网站系统与Java中间件开发实践

大型网站系统与Java中间件开发实践

曾宪杰 / 电子工业出版社 / 2014-4-24 / 65.00

本书围绕大型网站和支撑大型网站架构的 Java 中间件的实践展开介绍。从分布式系统的知识切入,让读者对分布式系统有基本的了解;然后介绍大型网站随着数据量、访问量增长而发生的架构变迁;接着讲述构建 Java 中间件的相关知识;之后的几章都是根据笔者的经验来介绍支撑大型网站架构的 Java 中间件系统的设计和实践。希望读者通过本书可以了解大型网站架构变迁过程中的较为通用的问题和解法,并了解构建支撑大型......一起来看看 《大型网站系统与Java中间件开发实践》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具