Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 460798c

Browse files
author
dinuscxj
committed
format field
1 parent 2ab5961 commit 460798c

File tree

6 files changed

+27
-22
lines changed

6 files changed

+27
-22
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11

22
## LoadingDrawable
3-
some android loading drawable, can be combined with any View as the loading View,
3+
[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-LoadingDrawable-brightgreen.svg?style=flat)](http://android-arsenal.com/details/1/3450)
4+
5+
some android loading drawable, can be combined with any View as the loading View and Progressbar,
46
and is especially suitable for the loading animation of the [RecyclerRefreshLayout](https://github.com/dinuscxj/RecyclerRefreshLayout).
57

68
![](https://raw.githubusercontent.com/dinuscxj/LoadingDrawable/master/Preview/CircleLoadingDrawable_Commit3.gif?width=300)

library/src/main/java/app/dinus/com/loadingdrawable/CollisionLoadingRenderer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public class CollisionLoadingRenderer extends LoadingRenderer {
3131
private static final float START_LEFT_DURATION_OFFSET = 0.25f;
3232
private static final float START_RIGHT_DURATION_OFFSET = 0.5f;
3333
private static final float END_RIGHT_DURATION_OFFSET = 0.75f;
34+
private static final float END_LEFT_DURATION_OFFSET = 1.0f;
3435

3536
private static final int[] DEFAULT_COLORS = new int[] {
3637
Color.RED, Color.GREEN
@@ -151,7 +152,7 @@ public void computeRender(float renderProgress) {
151152

152153
// Moving the end offset to left starts after 75% of a single ring
153154
// animation completes
154-
if (renderProgress <= 1.0f) {
155+
if (renderProgress <= END_LEFT_DURATION_OFFSET) {
155156
float endRightOffsetProgress = (renderProgress - END_RIGHT_DURATION_OFFSET) / DURATION_OFFSET;
156157
mEndXOffsetProgress = ACCELERATE_INTERPOLATOR.getInterpolation(1 - endRightOffsetProgress);
157158

library/src/main/java/app/dinus/com/loadingdrawable/GearLoadingRenderer.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
import android.graphics.Paint;
1010
import android.graphics.Rect;
1111
import android.graphics.RectF;
12-
import android.support.annotation.NonNull;
13-
import android.support.v4.view.animation.FastOutSlowInInterpolator;
1412
import android.view.animation.AccelerateInterpolator;
1513
import android.view.animation.DecelerateInterpolator;
1614
import android.view.animation.Interpolator;
@@ -24,10 +22,11 @@ public class GearLoadingRenderer extends LoadingRenderer {
2422
private static final float FULL_ROTATION = 1080.0f;
2523
private static final float ROTATION_FACTOR = 0.25f;
2624
private static final float MAX_PROGRESS_ARC = 0.17f;
27-
private static final float START_TRIM_DURATION_OFFSET = 0.5f;
25+
2826
private static final float START_SCALE_DURATION_OFFSET = 0.3f;
29-
private static final float END_TRIM_START_DELAY_OFFSET = 0.5f;
30-
private static final float END_SCALE_START_DELAY_OFFSET = 0.7f;
27+
private static final float START_TRIM_DURATION_OFFSET = 0.5f;
28+
private static final float END_TRIM_DURATION_OFFSET = 0.7f;
29+
private static final float END_SCALE_DURATION_OFFSET = 1.0f;
3130

3231
private static final int GEAR_COUNT = 4;
3332
private static final int NUM_POINTS = 3;
@@ -155,25 +154,25 @@ public void computeRender(float renderProgress) {
155154

156155
// Moving the end trim starts between 50% to 80% of a single ring
157156
// animation completes
158-
if (renderProgress > END_TRIM_START_DELAY_OFFSET && renderProgress < END_SCALE_START_DELAY_OFFSET) {
159-
float endTrimProgress = (renderProgress - END_TRIM_START_DELAY_OFFSET) / (END_SCALE_START_DELAY_OFFSET - END_TRIM_START_DELAY_OFFSET);
157+
if (renderProgress <= END_TRIM_DURATION_OFFSET && renderProgress > START_TRIM_DURATION_OFFSET) {
158+
float endTrimProgress = (renderProgress - START_TRIM_DURATION_OFFSET) / (END_TRIM_DURATION_OFFSET - START_TRIM_DURATION_OFFSET);
160159
mEndTrim = originEndTrim + ((MAX_PROGRESS_ARC - minProgressArc) * LINEAR_INTERPOLATOR.getInterpolation(endTrimProgress));
161160

162161
mIsScaling = false;
163162
}
164163

165164
// Scaling down the end size starts after 80% of a single ring
166165
// animation completes
167-
if (renderProgress > END_SCALE_START_DELAY_OFFSET) {
168-
float endScaleProgress = (renderProgress - END_SCALE_START_DELAY_OFFSET) / (1.0f - END_SCALE_START_DELAY_OFFSET);
166+
if (renderProgress > END_TRIM_DURATION_OFFSET) {
167+
float endScaleProgress = (renderProgress - END_TRIM_DURATION_OFFSET) / (END_SCALE_DURATION_OFFSET - END_TRIM_DURATION_OFFSET);
169168
mScale = 1.0f - ACCELERATE_INTERPOLATOR.getInterpolation(endScaleProgress);
170169

171170
mIsScaling = true;
172171
invalidateSelf();
173172
return ;
174173
}
175174

176-
float rotateProgress = (renderProgress - START_SCALE_DURATION_OFFSET) / (END_SCALE_START_DELAY_OFFSET - START_SCALE_DURATION_OFFSET);
175+
float rotateProgress = (renderProgress - START_SCALE_DURATION_OFFSET) / (END_TRIM_DURATION_OFFSET - START_SCALE_DURATION_OFFSET);
177176
mGroupRotation = ((FULL_ROTATION / NUM_POINTS) * rotateProgress) + (FULL_ROTATION * (mRotationCount / NUM_POINTS));
178177
mRotation = originRotation + (ROTATION_FACTOR * rotateProgress);
179178

library/src/main/java/app/dinus/com/loadingdrawable/LevelLoadingRenderer.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,12 @@ public class LevelLoadingRenderer extends LoadingRenderer{
2727
private static final float FULL_ROTATION = 1080.0f;
2828
private static final float ROTATION_FACTOR = 0.25f;
2929
private static final float MAX_PROGRESS_ARC = 0.8f;
30+
3031
private static final float LEVEL2_SWEEP_ANGLE_OFFSET = 7.0f / 8.0f;
3132
private static final float LEVEL3_SWEEP_ANGLE_OFFSET = 5.0f / 8.0f;
33+
3234
private static final float START_TRIM_DURATION_OFFSET = 0.5f;
33-
private static final float END_TRIM_START_DELAY_OFFSET = 0.5f;
35+
private static final float END_TRIM_DURATION_OFFSET = 1.0f;
3436

3537
private static final int DEFAULT_COLOR = Color.WHITE;
3638

@@ -165,8 +167,8 @@ public void computeRender(float renderProgress) {
165167

166168
// Moving the end trim starts after 50% of a single ring
167169
// animation completes
168-
if (renderProgress > END_TRIM_START_DELAY_OFFSET) {
169-
float endTrimProgress = (renderProgress - START_TRIM_DURATION_OFFSET) / (1.0f - START_TRIM_DURATION_OFFSET);
170+
if (renderProgress > START_TRIM_DURATION_OFFSET) {
171+
float endTrimProgress = (renderProgress - START_TRIM_DURATION_OFFSET) / (END_TRIM_DURATION_OFFSET - START_TRIM_DURATION_OFFSET);
170172
mEndTrim = originEndTrim + ((MAX_PROGRESS_ARC - minProgressArc) * MATERIAL_INTERPOLATOR.getInterpolation(endTrimProgress));
171173

172174
mIsRenderingFirstHalf = false;

library/src/main/java/app/dinus/com/loadingdrawable/MaterialLoadingRenderer.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ public class MaterialLoadingRenderer extends LoadingRenderer {
1919
private static final float FULL_ROTATION = 1080.0f;
2020
private static final float ROTATION_FACTOR = 0.25f;
2121
private static final float MAX_PROGRESS_ARC = 0.8f;
22+
2223
private static final float COLOR_START_DELAY_OFFSET = 0.8f;
2324
private static final float START_TRIM_DURATION_OFFSET = 0.5f;
24-
private static final float END_TRIM_START_DELAY_OFFSET = 0.5f;
25+
private static final float END_TRIM_DURATION_OFFSET = 1.0f;
2526

2627
private static final int DEGREE_360 = 360;
2728
private static final int NUM_POINTS = 5;
@@ -126,8 +127,8 @@ public void computeRender(float renderProgress) {
126127

127128
// Moving the end trim starts after 50% of a single ring
128129
// animation completes
129-
if (renderProgress > END_TRIM_START_DELAY_OFFSET) {
130-
float endTrimProgress = (renderProgress - START_TRIM_DURATION_OFFSET) / (1.0f - START_TRIM_DURATION_OFFSET);
130+
if (renderProgress > START_TRIM_DURATION_OFFSET) {
131+
float endTrimProgress = (renderProgress - START_TRIM_DURATION_OFFSET) / (END_TRIM_DURATION_OFFSET - START_TRIM_DURATION_OFFSET);
131132
mEndTrim = originEndTrim + ((MAX_PROGRESS_ARC - minProgressArc) * MATERIAL_INTERPOLATOR.getInterpolation(endTrimProgress));
132133
}
133134

library/src/main/java/app/dinus/com/loadingdrawable/WhorlLoadingRenderer.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import android.graphics.RectF;
1212
import android.support.annotation.NonNull;
1313
import android.support.v4.view.animation.FastOutSlowInInterpolator;
14-
import android.util.Log;
1514
import android.view.animation.Interpolator;
1615

1716
public class WhorlLoadingRenderer extends LoadingRenderer {
@@ -20,8 +19,9 @@ public class WhorlLoadingRenderer extends LoadingRenderer {
2019
private static final float FULL_ROTATION = 1080.0f;
2120
private static final float ROTATION_FACTOR = 0.25f;
2221
private static final float MAX_PROGRESS_ARC = 0.6f;
22+
2323
private static final float START_TRIM_DURATION_OFFSET = 0.5f;
24-
private static final float END_TRIM_START_DELAY_OFFSET = 0.5f;
24+
private static final float END_TRIM_DURATION_OFFSET = 1.0f;
2525

2626
private static final int DEGREE_180 = 180;
2727
private static final int DEGREE_360 = 360;
@@ -140,8 +140,8 @@ public void computeRender(float renderProgress) {
140140

141141
// Moving the end trim starts after 50% of a single ring
142142
// animation completes
143-
if (renderProgress > END_TRIM_START_DELAY_OFFSET) {
144-
float endTrimProgress = (renderProgress - START_TRIM_DURATION_OFFSET) / (1.0f - START_TRIM_DURATION_OFFSET);
143+
if (renderProgress > START_TRIM_DURATION_OFFSET) {
144+
float endTrimProgress = (renderProgress - START_TRIM_DURATION_OFFSET) / (END_TRIM_DURATION_OFFSET - START_TRIM_DURATION_OFFSET);
145145
mEndTrim = originEndTrim + ((MAX_PROGRESS_ARC - minProgressArc) * MATERIAL_INTERPOLATOR.getInterpolation(endTrimProgress));
146146
}
147147

0 commit comments

Comments
 (0)