Skip to content

Commit 89a17f6

Browse files
authored
Update README.md
1 parent 79b3744 commit 89a17f6

File tree

1 file changed

+76
-8
lines changed

1 file changed

+76
-8
lines changed

README.md

Lines changed: 76 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,90 @@
11
# LoadingButton
22

3-
一个加载功能的按钮控件,支持按钮收缩,完成和失败的图标文字切换
3+
一个小巧灵活的带加载功能的按钮控件,继承自[DrawableTextView]()
44

5-
### 特性
5+
## 特性
66
* 支持按钮收缩
77
* 支持加载取消,加载完成和失败图标替换
88
* 可设置加载动画颜色、大小、位置
99

10-
### Demo
10+
## Demo
1111
[点我下载](https://github.com/FlodCoding/LoadingButton/raw/master/app/build/outputs/apk/debug/app-debug.apk)
1212

13+
![](/screenrecord/APK_qrcode.png)
14+
15+
### Demo截图
1316
![](/screenrecord/shrink.gif)    ![](/screenrecord/noshrink.gif)
1417

15-
### 属性说明
18+
## 基本用法
19+
20+
### XML
21+
```
22+
<com.flod.loadingbutton.LoadingButton
23+
android:layout_width="match_parent"
24+
android:layout_height="wrap_content"
25+
android:background="@drawable/selector_btn"
26+
android:drawablePadding="10dp"
27+
android:gravity="center"
28+
android:padding="8dp"
29+
android:text="Submit"
30+
app:endCompleteDrawable="@drawable/ic_successful"
31+
app:endFailDrawable="@drawable/ic_fail" />
32+
```
33+
### Code
34+
```
35+
loadingBtn.setEnableShrink(true)
36+
.setDisableClickOnLoading(true)
37+
.setShrinkDuration(450)
38+
.setLoadingColor(loadingBtn.getTextColors().getDefaultColor())
39+
.setLoadingStrokeWidth((int) (loadingBtn.getTextSize() * 0.14f))
40+
.setLoadingPosition(DrawableTextView.POSITION.START)
41+
.setCompleteDrawable(R.drawable.ic_successful)
42+
.setFailDrawable(R.drawable.ic_fail)
43+
.setEndDrawableKeepDuration(900)
44+
.setLoadingEndDrawableSize((int) (loadingBtn.getTextSize() * 2))
45+
.setOnLoadingListener(new LoadingButton.OnLoadingListenerAdapter() {
46+
@Override
47+
public void onCanceled() {
48+
Toast.makeText(getApplicationContext(), "onCanceled", Toast.LENGTH_SHORT).show();
49+
}
50+
51+
@Override
52+
public void onFailed() {
53+
Toast.makeText(getApplicationContext(), "onFailed", Toast.LENGTH_SHORT).show();
54+
}
55+
56+
@Override
57+
public void onCompleted() {
58+
Toast.makeText(getApplicationContext(), "onCompleted", Toast.LENGTH_SHORT).show();
59+
}
60+
61+
@Override
62+
public void onLoadingStart() {
63+
loadingBtn.setText("Loading");
64+
}
65+
66+
@Override
67+
public void onEndDrawableAppear(boolean isComplete, LoadingButton.EndDrawable endDrawable) {
68+
if (isSuccess) {
69+
loadingBtn.setText("Complete);
70+
} else {
71+
loadingBtn.setText("Fail");
72+
}
73+
}
74+
});
75+
```
76+
77+
## 属性说明
1678
属性名|类型|说明
1779
---|:--:|---:
18-
enableShrink|boolean|设置加载时收缩
19-
disableClickOnLoading|boolen|设置加载时禁用点击
20-
shrinkDuration|int(default:450)|收缩动画时间
21-
shrinkDuration|int(default:450)|收缩动画时间
80+
enableShrink|boolean (default:true)|设置加载时收缩
81+
disableClickOnLoading|boolen (default:true)|设置加载时禁用点击
82+
shrinkDuration|integer (default:450ms)|收缩动画时间
83+
loadingEndDrawableSize|dimension (default:TextSize*2)|设置LaodingDrawable和EndDrawable大小
84+
loadingDrawableColor|color (default:TextColor)设置Loading的颜色
85+
loadingDrawablePosition|enum:Start,Top,End,Bottom (default:Start)|设置Loading的位置
86+
endCompleteDrawable|reference|完成时显示的图标
87+
endFailDrawable|reference|失败时显示的图标
88+
endDrawableAppearTime|integer|完成或失败图标从无到有的时间
89+
endDrawableDuration|integer|完成或失败图标停留的时间
2290

0 commit comments

Comments
 (0)