30
30
* Creator: Flood
31
31
* Date: 2019-06-13
32
32
* UseDes:
33
- *
33
+ * <p>
34
34
* 1、改变loading的大小 √
35
35
* 2、收缩动画后不居中 √
36
36
* 3、收缩后的大小随loading的大小决定 √
44
44
* 9、设置完Drawable大小后,start后再次设置rootView大小失控,是因为原来是wrap_content √
45
45
* 10、start和compete同时按Loading没有关 √
46
46
* 11、loading完后设置loading大小好像是无效的
47
+ * 12、如果是没有EndDrawable但是有文字,那是否也要停留一段时间呢?
47
48
*/
48
49
@ SuppressWarnings ({"UnusedReturnValue,SameParameterValue" , "unused" })
49
50
public class LoadingButton extends DrawableTextView {
50
51
private int curStatus = STATE .IDE ; //当前的状态
51
-
52
52
interface STATE {
53
53
int IDE = 0 ;
54
54
int SHRINKING = 1 ;
@@ -137,8 +137,6 @@ private void init(Context context, AttributeSet attrs) {
137
137
138
138
}
139
139
140
-
141
-
142
140
/**
143
141
* 设置收缩动画,主要用来收缩和恢复布局的宽度,动画开始前会保存一些收缩前的参数(文字,其他Drawable等)
144
142
*/
@@ -178,11 +176,12 @@ public void onAnimationStart(Animator animation) {
178
176
} else {
179
177
//begin restore
180
178
curStatus = STATE .RESTORING ;
179
+ stopLoading ();
181
180
if (mOnLoadingListener != null ) {
182
181
mOnLoadingListener .onRestoring ();
183
182
mOnLoadingListener .onLoadingStop ();
184
183
}
185
- stopLoading ();
184
+
186
185
}
187
186
}
188
187
@@ -697,17 +696,14 @@ public void run() {
697
696
@ Override
698
697
public void onAnimationStart (Animator animation ) {
699
698
super .onAnimationStart (animation );
699
+ curStatus = STATE .END_DRAWABLE_SHOWING ;
700
700
if (mOnLoadingListener != null ) {
701
701
mOnLoadingListener .onEndDrawableAppear (!isFail , mEndDrawable );
702
702
}
703
- curStatus = STATE .END_DRAWABLE_SHOWING ;
704
703
}
705
704
706
705
@ Override
707
706
public void onAnimationEnd (Animator animation ) {
708
- if (mOnLoadingListener != null ) {
709
- mOnLoadingListener .onLoadingStop ();
710
- }
711
707
if (isShowing ) {
712
708
postDelayed (mRunnable , mKeepDuration );
713
709
}
@@ -728,10 +724,10 @@ private void show(boolean isFail) {
728
724
}
729
725
730
726
//StopLoading
731
- if (mOnLoadingListener != null ) {
727
+ stopLoading ();
728
+ if (!enableShrink && mOnLoadingListener != null ) {
732
729
mOnLoadingListener .onLoadingStop ();
733
730
}
734
- stopLoading ();
735
731
736
732
//end showing endDrawable
737
733
if (isShowing ) {
@@ -741,10 +737,10 @@ private void show(boolean isFail) {
741
737
mAppearAnimator .start ();
742
738
isShowing = true ;
743
739
744
- //if mFailBitmap or mCompleteBitmap is null cancel appearAnim
740
+ /* //if mFailBitmap or mCompleteBitmap is null cancel appearAnim
745
741
if ((isFail && mFailBitmap == null) || (!isFail && mCompleteBitmap == null)) {
746
742
cancel(true);
747
- }
743
+ }*/
748
744
}
749
745
750
746
/**
@@ -969,7 +965,7 @@ public void onLoadingStop() {
969
965
}
970
966
971
967
@ Override
972
- public void onEndDrawableAppear (boolean isSuccess , EndDrawable endDrawable ) {
968
+ public void onEndDrawableAppear (boolean isComplete , EndDrawable endDrawable ) {
973
969
974
970
}
975
971
0 commit comments