Skip to content

Commit 081ff6c

Browse files
committed
release 1.2.2 & update doc
1 parent 0687e98 commit 081ff6c

2 files changed

Lines changed: 109 additions & 0 deletions

File tree

README.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,41 @@ EasyAndroid.init(application)
5656
- [EasyExecutor](#easyexecutor): 线程池封装组件
5757
- [EasyBundle](#easybundle): Bundle数据存取组件
5858
- [EasyPhoto](#easyphoto): 从拍照、图库进行图片选择组件。
59+
- [EasyImageGetter](#easyimagegetter): TextView加载html标签时,提供`img`标签的图片加载功能
5960
- [MVP](#mvp): 简单MVP架构
6061

62+
### [EasyImageGetter](./docs/EasyImageGetter.md)
63+
64+
- 支持设置`placeholde`图片加载时占位图
65+
- 支持设置`error`图片加载失败时的占位图
66+
- 支持指定uri进行加载。不仅仅局限于网络图片。还包括加载本地图片、assets图片等。
67+
- 支持自定义加载器:满足各种加载需求。
68+
69+
用户实例:
70+
71+
```
72+
// 提供html文本数据
73+
private val html =
74+
"""
75+
<h5>asset图片加载示例</h5>
76+
<img src="file:///android_asset/imagegetter/cat.png">
77+
<h5>http图片加载示例</h5>
78+
<img src="http://www.w3school.com.cn/i/eg_tulip.jpg">
79+
""".trimIndent()
80+
81+
// 提供展示的TextView控件
82+
private val textView:TextView = getTextView()
83+
84+
EasyImageGetter.create()
85+
// 设置图片加载时的占位图
86+
.setPlaceHolder(R.drawable.placeholder)
87+
// 设置图片加载失败时的占位图
88+
.setError(R.drawable.error)
89+
// 指定加载的html与tv控件即可
90+
.loadHtml(html, textView)
91+
92+
```
93+
6194
### [EasyPhoto](./docs/EasyPhoto.md)
6295

6396
> 从图库或者使用相机拍照获取图片的组件。

docs/EasyImageGetter.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# EasyImageGetter
2+
3+
EasyImageGetter用于为TextView加载html标签时,提供`img`标签的图片加载功能
4+
5+
[Sample Activity](../app/src/main/java/com/haoge/sample/easyandroid/activities/EasyImageGetterActivity.kt)
6+
7+
## 特性
8+
9+
- 支持设置`placeholde`图片加载时占位图
10+
- 支持设置`error`图片加载失败时的占位图
11+
- 支持指定uri进行加载。不仅仅局限于网络图片。还包括加载本地图片、assets图片等。
12+
- 支持自定义加载器:满足各种加载需求。
13+
14+
## 用法
15+
16+
### 提供带img标签的文本数据
17+
18+
首先需要提供一个可用的带img标签的文本:img标签中的地址。为通用的uri地址,比如:
19+
20+
```
21+
private val html =
22+
"""
23+
<h5>asset图片加载示例</h5>
24+
<img src="file:///android_asset/imagegetter/cat.png">
25+
<h5>http图片加载示例</h5>
26+
<img src="http://www.w3school.com.cn/i/eg_tulip.jpg">
27+
""".trimIndent()
28+
```
29+
30+
可以看到。asset图片与网络图片均完美支持。当然如果需要。此处也可以配置本地图片进行展示
31+
32+
### 创建实例并进行展示:
33+
34+
```
35+
EasyImageGetter.create().loadHtml(html, textView)
36+
```
37+
38+
**加载效果图**
39+
40+
![](https://user-gold-cdn.xitu.io/2018/9/28/1661e407616d8701?w=271&h=295&f=png&s=41866)
41+
42+
### 配置占位图
43+
44+
组件支持两种占位图:
45+
46+
```
47+
EasyImageGetter.create()
48+
.setPlaceHolder(R.drawable.placeholder)// 设置在进行图片加载时的占位图
49+
.setError(R.drawable.error)// 设置在进行图片加载失败时的占位图
50+
.loadHtml(html, textView)
51+
```
52+
53+
### 配置额外加载器
54+
55+
在上面的基础用法示例中。`img`标签中的src支持任意的uri进行展示。而内部加载器是使用的`Glide`(compileOnly方式依赖)
56+
57+
但是有时候我们可能会需要定制自己的加载器去进行图片解析。比如项目不支持Glide。或者src中的数据格式不为规则的uri时。
58+
59+
这个时候就可以使用额外加载器去进行自主图片解析了:
60+
61+
```
62+
val imageGetter = EasyImageGetter.create()
63+
imageGetter.setLoader { src -> // src为img标签中的原始src属性值
64+
// 此加载器回调运行于子线程中。所以可以在此直接进行图片解析操作。
65+
66+
// 通过src数据进行自主drawable解析加载。并返回加载的drawable数据
67+
val drawable = parseFromSrc(src)
68+
// 若返回的drawable为null。表示需要使用内置加载器继续进行drawable解析。
69+
return drawable
70+
}
71+
```
72+
73+
### 日志定位
74+
75+
有时候会出现加载失败的情况。这时候可以通过组件提供的关键字`EasyImageGetter`去进行日志过滤。便于进行问题定位
76+

0 commit comments

Comments
 (0)