Skip to content

Commit 13e934d

Browse files
committed
get animation added.
1 parent 9c16f86 commit 13e934d

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

app/src/main/res/layout/activity_main.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
android:id="@+id/emre"
1111
android:layout_width="wrap_content"
1212
android:layout_height="wrap_content"
13-
app:innerAnimInterpolator="accelerateDecelerate"
13+
app:innerAnimInterpolator="overshoot"
1414
app:layout_constraintStart_toStartOf="parent"
1515
app:layout_constraintTop_toTopOf="parent"
16-
app:outerAnimInterpolator="linear" />
16+
app:outerAnimInterpolator="overshoot" />
1717

1818

1919
</androidx.constraintlayout.widget.ConstraintLayout>

lib/src/main/java/com/sn/lib/NestedProgress.kt

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ import android.graphics.Paint
77
import android.graphics.RectF
88
import android.util.AttributeSet
99
import android.view.View
10-
import android.view.animation.LinearInterpolator
11-
import android.view.animation.OvershootInterpolator
10+
import android.view.animation.*
1211
import androidx.annotation.ColorInt
1312
import com.sn.lib.Constants.ANIM_DURATION
1413
import com.sn.lib.Constants.CIRCLE_RADIUS
@@ -270,8 +269,21 @@ class NestedProgress @JvmOverloads constructor(
270269
paint.strokeWidth = strokeWidth
271270
}
272271

272+
private fun getAnimation(interpolator: Int): Interpolator {
273+
return when (interpolator) {
274+
0 -> AccelerateInterpolator()
275+
1 -> DecelerateInterpolator()
276+
2 -> AccelerateDecelerateInterpolator()
277+
3 -> AnticipateInterpolator()
278+
4 -> AnticipateOvershootInterpolator()
279+
5 -> LinearInterpolator()
280+
6 -> OvershootInterpolator()
281+
else -> AccelerateDecelerateInterpolator()
282+
}
283+
}
284+
273285
private fun innerLoaderAnimation() {
274-
innerLoaderAnimator.interpolator = OvershootInterpolator()
286+
innerLoaderAnimator.interpolator = getAnimation(innerAnimInterpolator)
275287
innerLoaderAnimator.duration = innerLoaderAnimDuration.toLong()
276288
innerLoaderAnimator.repeatCount = ValueAnimator.INFINITE
277289
innerLoaderAnimator.addUpdateListener { animation ->
@@ -281,7 +293,7 @@ class NestedProgress @JvmOverloads constructor(
281293
}
282294

283295
private fun outerLoaderAnimation() {
284-
outerLoaderAnimator.interpolator = LinearInterpolator()
296+
outerLoaderAnimator.interpolator = getAnimation(outerAnimInterpolator)
285297
outerLoaderAnimator.duration = outerLoaderAnimDuration.toLong()
286298
outerLoaderAnimator.repeatCount = ValueAnimator.INFINITE
287299
outerLoaderAnimator.addUpdateListener { animation ->

0 commit comments

Comments
 (0)