Skip to content

Commit 22d0b84

Browse files
committed
🐒 fix #9 1.0.4
1 parent 46e998c commit 22d0b84

File tree

3 files changed

+75
-66
lines changed

3 files changed

+75
-66
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ allprojects {
3636

3737
```
3838
dependencies {
39-
compile 'com.github.Bakumon:StatusLayoutManager:1.0.3'
39+
compile 'com.github.Bakumon:StatusLayoutManager:1.0.4'
4040
}
4141
```
4242

library/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ android {
88
defaultConfig {
99
minSdkVersion 11
1010
targetSdkVersion 26
11-
versionCode 3
12-
versionName "1.0.3"
11+
versionCode 4
12+
versionName "1.0.4"
1313
}
1414

1515
buildTypes {

library/src/main/java/me/bakumon/statuslayoutmanager/library/StatusLayoutManager.java

Lines changed: 72 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,25 @@
2121

2222
public class StatusLayoutManager {
2323

24+
/**
25+
* 三种默认布局 ID
26+
*/
27+
private static final int DEFAULT_LOADING_LAYOUT_ID = R.layout.layout_status_layout_manager_loading;
28+
private static final int DEFAULT_EMPTY_LAYOUT_ID = R.layout.layout_status_layout_manager_empty;
29+
private static final int DEFAULT_ERROR_LAYOUT_ID = R.layout.layout_status_layout_manager_error;
30+
31+
/**
32+
* 默认布局中可点击的 view ID
33+
*/
34+
private static final int DEFAULT_EMPTY_CLICKED_ID = R.id.bt_status_empty_click;
35+
private static final int DEFAULT_ERROR_CLICKED_ID = R.id.bt_status_error_click;
36+
37+
/**
38+
* 默认颜色
39+
*/
40+
private static final int DEFAULT_CLICKED_TEXT_COLOR = R.color.status_layout_click_view_text_color;
41+
private static final int DEFAULT_BACKGROUND_COLOR = R.color.status_layout_background_color;
42+
2443
private View contentLayout;
2544

2645
@LayoutRes
@@ -120,7 +139,8 @@ public void showSuccessLayout() {
120139
private void createLoadingLayout() {
121140
if (loadingLayout == null) {
122141
loadingLayout = inflate(loadingLayoutID);
123-
} else {
142+
}
143+
if (loadingLayoutID == DEFAULT_LOADING_LAYOUT_ID) {
124144
loadingLayout.setBackgroundColor(defaultBackgroundColor);
125145
}
126146
if (!TextUtils.isEmpty(loadingText)) {
@@ -159,27 +179,23 @@ public void showLoadingLayout() {
159179
private void createEmptyLayout() {
160180
if (emptyLayout == null) {
161181
emptyLayout = inflate(emptyLayoutID);
162-
} else {
163-
emptyLayout.setBackgroundColor(defaultBackgroundColor);
164182
}
165-
166-
if (onStatusChildClickListener == null) {
167-
return;
183+
if (emptyLayoutID == DEFAULT_EMPTY_LAYOUT_ID) {
184+
emptyLayout.setBackgroundColor(defaultBackgroundColor);
168185
}
169186

187+
// 点击事件回调
170188
View view = emptyLayout.findViewById(emptyClickViewId);
171-
if (view == null) {
172-
return;
189+
if (view != null && onStatusChildClickListener != null) {
190+
// 设置点击按钮点击时事件回调
191+
view.setOnClickListener(new View.OnClickListener() {
192+
@Override
193+
public void onClick(View view) {
194+
onStatusChildClickListener.onEmptyChildClick(view);
195+
}
196+
});
173197
}
174198

175-
// 设置点击按钮点击时事件回调
176-
view.setOnClickListener(new View.OnClickListener() {
177-
@Override
178-
public void onClick(View view) {
179-
onStatusChildClickListener.onEmptyChildClick(view);
180-
}
181-
});
182-
183199
// 设置默认空数据布局的提示文本
184200
if (!TextUtils.isEmpty(emptyText)) {
185201
TextView emptyTextView = emptyLayout.findViewById(R.id.tv_status_empty_content);
@@ -196,19 +212,18 @@ public void onClick(View view) {
196212
}
197213
}
198214

199-
TextView emptyClickViewTextView = emptyLayout.findViewById(R.id.bt_status_empty_click);
200-
if (emptyClickViewTextView == null) {
201-
return;
202-
}
203-
// 设置点击按钮的文本和可见性
204-
if (isEmptyClickViewVisible) {
205-
emptyClickViewTextView.setVisibility(View.VISIBLE);
206-
if (!TextUtils.isEmpty(emptyClickViewText)) {
207-
emptyClickViewTextView.setText(emptyClickViewText);
215+
TextView emptyClickViewTextView = emptyLayout.findViewById(DEFAULT_EMPTY_CLICKED_ID);
216+
if (emptyClickViewTextView != null) {
217+
// 设置点击按钮的文本和可见性
218+
if (isEmptyClickViewVisible) {
219+
emptyClickViewTextView.setVisibility(View.VISIBLE);
220+
if (!TextUtils.isEmpty(emptyClickViewText)) {
221+
emptyClickViewTextView.setText(emptyClickViewText);
222+
}
223+
emptyClickViewTextView.setTextColor(emptyClickViewTextColor);
224+
} else {
225+
emptyClickViewTextView.setVisibility(View.GONE);
208226
}
209-
emptyClickViewTextView.setTextColor(emptyClickViewTextColor);
210-
} else {
211-
emptyClickViewTextView.setVisibility(View.GONE);
212227
}
213228
}
214229

@@ -240,27 +255,22 @@ public void showEmptyLayout() {
240255
private void createErrorLayout() {
241256
if (errorLayout == null) {
242257
errorLayout = inflate(errorLayoutID);
243-
} else {
244-
errorLayout.setBackgroundColor(defaultBackgroundColor);
245258
}
246-
247-
if (onStatusChildClickListener == null) {
248-
return;
259+
if (errorLayoutID == DEFAULT_ERROR_LAYOUT_ID) {
260+
errorLayout.setBackgroundColor(defaultBackgroundColor);
249261
}
250262

251263
View view = errorLayout.findViewById(errorClickViewId);
252-
if (view == null) {
253-
return;
264+
if (view != null && onStatusChildClickListener != null) {
265+
// 设置点击按钮点击时事件回调
266+
view.setOnClickListener(new View.OnClickListener() {
267+
@Override
268+
public void onClick(View view) {
269+
onStatusChildClickListener.onErrorChildClick(view);
270+
}
271+
});
254272
}
255273

256-
// 设置点击按钮点击时事件回调
257-
view.setOnClickListener(new View.OnClickListener() {
258-
@Override
259-
public void onClick(View view) {
260-
onStatusChildClickListener.onErrorChildClick(view);
261-
}
262-
});
263-
264274
// 设置默认出错布局的提示文本
265275
if (!TextUtils.isEmpty(errorText)) {
266276
TextView errorTextView = errorLayout.findViewById(R.id.tv_status_error_content);
@@ -277,19 +287,18 @@ public void onClick(View view) {
277287
}
278288
}
279289

280-
TextView errorClickViewTextView = errorLayout.findViewById(R.id.bt_status_error_click);
281-
if (errorClickViewTextView == null) {
282-
return;
283-
}
284-
// 设置点击按钮的文本和可见性
285-
if (isErrorClickViewVisible) {
286-
errorClickViewTextView.setVisibility(View.VISIBLE);
287-
if (!TextUtils.isEmpty(errorClickViewText)) {
288-
errorClickViewTextView.setText(errorClickViewText);
290+
TextView errorClickViewTextView = errorLayout.findViewById(DEFAULT_ERROR_CLICKED_ID);
291+
if (errorClickViewTextView != null) {
292+
// 设置点击按钮的文本和可见性
293+
if (isErrorClickViewVisible) {
294+
errorClickViewTextView.setVisibility(View.VISIBLE);
295+
if (!TextUtils.isEmpty(errorClickViewText)) {
296+
errorClickViewTextView.setText(errorClickViewText);
297+
}
298+
errorClickViewTextView.setTextColor(errorClickViewTextColor);
299+
} else {
300+
errorClickViewTextView.setVisibility(View.GONE);
289301
}
290-
errorClickViewTextView.setTextColor(errorClickViewTextColor);
291-
} else {
292-
errorClickViewTextView.setVisibility(View.GONE);
293302
}
294303
}
295304

@@ -421,19 +430,19 @@ public static final class Builder {
421430
public Builder(@NonNull View contentLayout) {
422431
this.contentLayout = contentLayout;
423432
// 设置默认布局
424-
this.loadingLayoutID = R.layout.layout_status_layout_manager_loading;
425-
this.emptyLayoutID = R.layout.layout_status_layout_manager_empty;
426-
this.errorLayoutID = R.layout.layout_status_layout_manager_error;
433+
this.loadingLayoutID = DEFAULT_LOADING_LAYOUT_ID;
434+
this.emptyLayoutID = DEFAULT_EMPTY_LAYOUT_ID;
435+
this.errorLayoutID = DEFAULT_ERROR_LAYOUT_ID;
427436
// 设置默认点击点击view id
428-
this.emptyClickViewId = R.id.bt_status_empty_click;
429-
this.errorClickViewId = R.id.bt_status_error_click;
437+
this.emptyClickViewId = DEFAULT_EMPTY_CLICKED_ID;
438+
this.errorClickViewId = DEFAULT_ERROR_CLICKED_ID;
430439
// 设置默认点击按钮属性
431440
this.isEmptyClickViewVisible = true;
432-
this.emptyClickViewTextColor = contentLayout.getContext().getResources().getColor(R.color.status_layout_click_view_text_color);
441+
this.emptyClickViewTextColor = contentLayout.getContext().getResources().getColor(DEFAULT_CLICKED_TEXT_COLOR);
433442
this.isErrorClickViewVisible = true;
434-
this.errorClickViewTextColor = contentLayout.getContext().getResources().getColor(R.color.status_layout_click_view_text_color);
443+
this.errorClickViewTextColor = contentLayout.getContext().getResources().getColor(DEFAULT_CLICKED_TEXT_COLOR);
435444
// 设置默认背景色
436-
this.defaultBackgroundColor = contentLayout.getContext().getResources().getColor(R.color.status_layout_background_color);
445+
this.defaultBackgroundColor = contentLayout.getContext().getResources().getColor(DEFAULT_BACKGROUND_COLOR);
437446
}
438447

439448
///////////////////////////////////////////

0 commit comments

Comments
 (0)