You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/**
* 开始
*/
public void beginStarting(){
initStateData();
......//省略
va.addListener(new Animator.AnimatorListener() { @OverRide
public void onAnimationStart(Animator animation) {
} @OverRide
public void onAnimationEnd(Animator animation) {
state = STATE_READY_CHANGEING;
mBgPaint.setStyle(Paint.Style.STROKE); mBgPaint.setColor(Color.BLACK); //这里应该设置mBgPaint.setColor(progressBarBgColor);不然设置的进度条背景颜色 无效。
changeStateReadyChanging();
}
......//省略
}
另外因为你加载完成和加载错误的状态下
ls.setOntextChangeListener(new SpecialProgressBarView.OntextChangeListener() { @OverRide
public String onProgressTextChange(SpecialProgressBarView specialProgressBarView, int max, int progress) {
return progress * 100 / max + "%";
}
@Override
public String onErrorTextChange(SpecialProgressBarView specialProgressBarView, int max, int progress) {
return "error";
}
@Override
public String onSuccessTextChange(SpecialProgressBarView specialProgressBarView, int max, int progress) {
return "done";
}
});
这里的监听,后面还有一些后续动画,这样使用的时候并不能知道你什么时候动画结束(比如我把你定义的这个进度条view放在dialog中展示,我希望加载完毕后展示动画后就关闭这个dialog,而你目前的这个监听还不行,因为还有后续的一些动画,所以并不能在你现在这个onSuccessTextChange()就关闭dialog),也就是你这里的监听不够准确。
所以我建议,在
private void changeStateBackHome() {
state = STATE_BACK_HOME;
...... @OverRide
public void onAnimationEnd(Animator animation) {
//将设置的临时变量设置回去
isCanEndSuccessClickable = isTempCanEndSuccessClickable;
postDelayed(new Runnable() { @OverRide
public void run() {
state = DONE;
**mStateChangedAnimationEndListener.onSuccessAnimationEnd();**在这里,加载完毕动画执行完毕后再加上一个 新的监听。
}
}, 50);
}
同样的Error的时候也应该在动画执行完毕后 再加个监听
The text was updated successfully, but these errors were encountered:
/**
* 开始
*/
public void beginStarting(){
initStateData();
......//省略
va.addListener(new Animator.AnimatorListener() {
@OverRide
public void onAnimationStart(Animator animation) {
}
@OverRide
public void onAnimationEnd(Animator animation) {
state = STATE_READY_CHANGEING;
mBgPaint.setStyle(Paint.Style.STROKE);
mBgPaint.setColor(Color.BLACK); //这里应该设置mBgPaint.setColor(progressBarBgColor);不然设置的进度条背景颜色 无效。
changeStateReadyChanging();
}
......//省略
}
另外因为你加载完成和加载错误的状态下
ls.setOntextChangeListener(new SpecialProgressBarView.OntextChangeListener() {
@OverRide
public String onProgressTextChange(SpecialProgressBarView specialProgressBarView, int max, int progress) {
return progress * 100 / max + "%";
}
这里的监听,后面还有一些后续动画,这样使用的时候并不能知道你什么时候动画结束(比如我把你定义的这个进度条view放在dialog中展示,我希望加载完毕后展示动画后就关闭这个dialog,而你目前的这个监听还不行,因为还有后续的一些动画,所以并不能在你现在这个onSuccessTextChange()就关闭dialog),也就是你这里的监听不够准确。
所以我建议,在
private void changeStateBackHome() {
state = STATE_BACK_HOME;
......
@OverRide
public void onAnimationEnd(Animator animation) {
//将设置的临时变量设置回去
isCanEndSuccessClickable = isTempCanEndSuccessClickable;
postDelayed(new Runnable() {
@OverRide
public void run() {
state = DONE;
**mStateChangedAnimationEndListener.onSuccessAnimationEnd();**在这里,加载完毕动画执行完毕后再加上一个 新的监听。
}
}, 50);
}
同样的Error的时候也应该在动画执行完毕后 再加个监听
The text was updated successfully, but these errors were encountered: