Skip to content

Commit 16ae3e2

Browse files
committed
Refactor EasyToast
1 parent 1cc71d0 commit 16ae3e2

File tree

2 files changed

+51
-21
lines changed

2 files changed

+51
-21
lines changed

docs/EasyToast.md

Lines changed: 50 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,63 @@
66

77
## 特性
88

9-
1. 支持在任意线程下进行toast提示
10-
2. 非常方便的进行任意样式的定制
11-
3. 不管当前是否正在展示之前的数据。有新消息通知时,直接展示新消息,无需等待
9+
1. 非常方便的进行Toast样式定制
10+
2. 可直接在任意线程中进行使用
11+
3. 当有新消息需要展示时。进行即时刷新。无需等待
1212

1313
## 用法
1414

15-
### 直接使用默认Toast样式(系统默认样式)
15+
### 1. 创建EasyToast的两种方式:
16+
17+
- 创建使用默认样式的EasyToast实例:
18+
19+
```
20+
使用无参方法创建默认样式Toast。
21+
val toast = EasyToast.newBuilder().build()
22+
```
23+
24+
- 指定布局文件与文本id。创建自定义样式
1625

1726
```
18-
EasyToast.Default.show(message, args)
19-
// 或者
20-
EasyToast.Default.show(R.string.toast_message)
27+
// 指定toast的布局文件layoutId与文本控件tvId. 创建自定义样式Toast
28+
val toast = EasyToast.newBuilder(layoutId:Int, tvId:Int).build()
2129
```
2230

23-
### 创建自定义样式并进行使用
31+
### 2. 在任意位置进行toast展示
2432

25-
```kotlin
26-
// 1. 进行实例创建
27-
EasyToast custom = EasyToast.create(
28-
R.layout.toast_style, // 自定义样式的布局
29-
R.id.toast_tv, // 布局中用于展示文字信息的TextView的ID
30-
Toast.LENGTH_SHORT)
33+
EasyToast实例生成好之后。即可在`任意线程`中进行展示:
3134

32-
// 2. 进行界面展示
33-
custom.show(message, args)
35+
```
36+
// 1. 展示指定资源ID内容
37+
toast.show(R.string.message)
38+
// 2. 展示指定展示文本
39+
toast.show("展示文本")
40+
```
41+
42+
### 3. 配置gravity
43+
44+
为了避免使用混乱。EasyToast只支持在进行`EasyToast实例创建过程中`进行位置调整
45+
46+
```
47+
val toast = EasyToast.newBuilder()
48+
.setGravate(gravity:Int, offsetX:Int, offsetY:Int)// 指定gravity位置与偏移量
49+
.build()
50+
```
51+
52+
### 4. 配置duration
53+
54+
`gravity`配置一样, 对`duration`的配置也`只允许`在创建过程中进行配置:
55+
56+
```
57+
val toast = EasyToast.newBuilder()
58+
.setDuration(Toast.LENGTH_SHORT|Toast.LENGTH_LONG)
59+
.build()
60+
```
61+
62+
### 5. 使用EasyToast.Default
63+
64+
因为很多时候。其实我们需要使用的就是默认的Toast样式。所以在这里,EasyToast内部直接提供了`EasyToast.Default`实例。让你可以直接使用它进行Toast展示:
65+
66+
```
67+
EasyToast.Default.show("Hello EasyToast!")
3468
```

utils/src/main/java/com/haoge/easyandroid/easy/EasyToast.kt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class EasyToast private constructor(private val builder:Builder) {
6060
private fun createToastIfNeeded() {
6161
if (toast == null) {
6262
if (builder.isDefault) {
63-
toast = Toast.makeText(context, "", Toast.LENGTH_SHORT)
63+
toast = Toast.makeText(context, "", builder.duration)
6464
} else {
6565
val container = LayoutInflater.from(context).inflate(builder.layoutId, null)
6666
tv = container.findViewById(builder.tvId)
@@ -90,10 +90,6 @@ class EasyToast private constructor(private val builder:Builder) {
9090
fun newBuilder(layoutId: Int, tvId: Int):Builder {
9191
return Builder(false, layoutId, tvId)
9292
}
93-
94-
fun create(layoutId: Int, tvId: Int, duration: Int): EasyToast {
95-
return newBuilder(layoutId, tvId).setDuration(duration).build()
96-
}
9793
}
9894

9995
class Builder(internal var isDefault: Boolean,

0 commit comments

Comments
 (0)