66 * 支持按钮收缩
77 * 支持加载完成和失败图标显示
88 * 可设置加载动画颜色、大小、位置
9+ * 自定义圆角
10+
911
1012## 如何导入
1113
@@ -65,6 +67,7 @@ Support-appcompat 停止更新
6567 app:endFailDrawable="@drawable/ic_fail"
6668 app:radius="50dp"
6769 app:enableShrink="true"
70+ app:enableRestore="true"
6871 app:shrinkShape="Oval"
6972 app:loadingDrawablePosition="Start" />
7073```
@@ -77,21 +80,21 @@ loadingBtn.complete(false); //加载失败
7780loadingBtn.cancel(); //加载取消
7881
7982loadingBtn.setEnableShrink(true)
80- .setDisableClickOnLoading (true)
81- .setShrinkDuration(450 )
82- .setRestoreTextWhenEnd(true )
83- .setLoadingColor(loadingBtn.getTextColors().getDefaultColor())
84- .setLoadingStrokeWidth((int) (loadingBtn.getTextSize() * 0.14f))
85- .setLoadingPosition(DrawableTextView.POSITION.START)
86- .setCompleteDrawable (R.drawable.ic_successful)
87- .setFailDrawable(R.drawable.ic_fail)
88- .setEndDrawableKeepDuration(900)
89- .setLoadingEndDrawableSize((int) (loadingBtn.getTextSize() * 2))
83+ .setEnableRestore (true)
84+ .setDisableClickOnLoading(true )
85+ .setShrinkDuration(450 )
86+ .setLoadingColor(loadingBtn.getTextColors().getDefaultColor())
87+ .setLoadingStrokeWidth((int) (loadingBtn.getTextSize() * 0.14f))
88+ .setLoadingPosition(DrawableTextView.POSITION.START)
89+ .setSuccessDrawable (R.drawable.ic_successful)
90+ .setFailDrawable(R.drawable.ic_fail)
91+ .setEndDrawableKeepDuration(900)
92+ .setLoadingEndDrawableSize((int) (loadingBtn.getTextSize() * 2))
9093
9194```
9295
9396### 状态回调
94- start --> onShrinking --> onLoadingStart
97+ start --> onShrinking --> onLoadingStart
9598complete --> onLoadingStop --> onEndDrawableAppear --> onCompleted --> onRestored
9699
97100```
@@ -108,6 +111,7 @@ complete --> onLoadingStop --> onEndDrawableAppear --> onCompleted --> onRestore
108111 public void onRestoring() {}
109112
110113 public void onRestored() {}
114+
111115 public void onCompleted(boolean isSuccess) { }
112116
113117 public void onCanceled() {}
@@ -123,11 +127,11 @@ disableClickOnLoading |boolean |true |加载时禁用点
123127enableRestore |boolean |false |完成时,恢复按钮
124128radius(SDK > 21 |dimension |0dp |设置按钮的圆角,** (需要SDK>21)** <br >(来自([ DrawableTextView] ( https://github.com/FlodCoding/DrawableTextView ) )
125129shrinkDuration |integer |450ms |收缩动画时间
126- shrinkShape |enum<br >(Default,Oval) |Oval |收缩后的形状<br >(Default:保持原来的形状,Oval:圆形)
130+ shrinkShape |enum<br >(Default,Oval) |Oval |收缩后的形状 ** (需要SDK>21) ** <br >(Default:保持原来的形状,Oval:圆形)
127131loadingEndDrawableSize |dimension |TextSize \* 2 |设置LaodingDrawable和EndDrawable大小
128132loadingDrawableColor |reference |TextColor |设置Loading的颜色
129133loadingDrawablePosition |enum<br >(Start,Top,<br >End,Bottom) |Start |设置Loading的位置
130- endCompleteDrawable |reference | null |完成时显示的图标
134+ endSuccessDrawable |reference | null |完成时显示的图标
131135endFailDrawable |reference | null |失败时显示的图标
132136endDrawableAppearTime |integer | 300ms |完成或失败图标从无到有的时间
133137endDrawableDuration |integer | 900ms |完成或失败图标停留的时间
@@ -145,7 +149,7 @@ setShrinkShape(@ShrinkShape int shrinkShape) |Default:保持原来的形状,<br>
145149setShrinkDuration(long time) |milliseconds |450ms |收缩动画时间
146150setLoadingEndDrawableSize(@Px int px) |单位Px |TextSize \* 2 |设置LaodingDrawable和EndDrawable大小
147151setLoadingPosition(@POSITION int position) |Start,Top,End,Bottom |Start |设置Loading的位置
148- setCompleteDrawable (@DrawableRes int drawableRes)<br >setCompleteDrawable (Drawable drawable) |- | null |完成时显示的图标
152+ setSuccessDrawable (@DrawableRes int drawableRes)<br >setSuccessDrawable (Drawable drawable) |- | null |成功时显示的图标
149153setFailDrawable(@DrawableRes int drawableRes)<br >setFailDrawable(Drawable drawable) |- | null |失败时显示的图标
150154setEndDrawableAppearDuration(long time) |milliseconds | 300ms |完成或失败图标从无到有的时间
151155setEndDrawableKeepDuration(long time) |milliseconds | 900ms |完成或失败图标停留的时间
0 commit comments