diff --git a/README.md b/README.md
index 31c78f6..d7a3e07 100644
--- a/README.md
+++ b/README.md
@@ -37,12 +37,16 @@ latest version : [ ![Download](https://api.bintray.com/packages/agrawalsuneet/an
![arcprogressloader](https://user-images.githubusercontent.com/12999622/45809206-3fe05800-bce5-11e8-90ef-f68e46de64cc.gif)
+### FidgetLoader
+![fidgetloader](https://user-images.githubusercontent.com/12999622/45921114-dfac0a80-becc-11e8-8a1e-8c8d78c31dd4.gif)
+
+
Check all other loaders [here](https://agrawalsuneet.github.io/agrawalsuneet/opensourcecontribution/)
## How To use
include below dependency in build.gradle of application and compile it
```
-implementation 'com.agrawalsuneet.androidlibs:loaderspack:0.7'
+implementation 'com.agrawalsuneet.androidlibs:loaderspack:0.8'
```
### ClockLoader
@@ -396,6 +400,50 @@ implementation 'com.agrawalsuneet.androidlibs:loaderspack:0.7'
```
+##### Through XML
+```
+
+```
+##### Through Code
+* Kotlin
+```
+ val fidgetLoader = FidgetLoader(this,
+ 20,
+ ContextCompat.getColor(this, R.color.blue_selected),
+ ContextCompat.getColor(this, R.color.amber))
+ .apply {
+ animDuration = 3000
+ noOfRotation = 1
+ interpolator = BounceInterpolator()
+ }
+
+ containerLayout.addView(fidgetLoader)
+```
+
+* Java
+```
+ FidgetLoader fidgetLoader = new FidgetLoader(this,
+ 20,
+ ContextCompat.getColor(this, R.color.blue_selected),
+ ContextCompat.getColor(this, R.color.amber));
+
+ fidgetLoader.setAnimDuration(3000);
+ fidgetLoader.setNoOfRotation(1);
+ fidgetLoader.setInterpolator(new BounceInterpolator());
+
+ container.addView(fidgetLoader);
+```
+
+
+### FidgetLoader
##### Through XML
```
diff --git a/app/src/main/res/layout/activity_main_circular_rotating.xml b/app/src/main/res/layout/activity_main_circular_rotating.xml
index db9c270..8e28262 100644
--- a/app/src/main/res/layout/activity_main_circular_rotating.xml
+++ b/app/src/main/res/layout/activity_main_circular_rotating.xml
@@ -70,7 +70,7 @@
app:rotatingsticks_innerCircleRadius="60dp"
app:rotatingsticks_noOfSticks="50"
app:rotatingsticks_outerCircleRadius="80dp"
- app:rotatingsticks_stickColor="@color/grey"
+ app:rotatingsticks_stickColor="@android:color/darker_gray"
app:rotatingsticks_viewBackgroundColor="@color/white" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main_clock.xml b/app/src/main/res/layout/activity_main_clock.xml
index 2288073..cf7df6c 100644
--- a/app/src/main/res/layout/activity_main_clock.xml
+++ b/app/src/main/res/layout/activity_main_clock.xml
@@ -32,15 +32,15 @@
android:layout_height="wrap_content"
app:clock_animSpeedMultiplier="0.5"
android:layout_margin="16dp"
- app:clock_bigCircleColor="@color/black"
+ app:clock_bigCircleColor="@android:color/black"
app:clock_bigCircleRadius="100dp"
- app:clock_hourHandColor="@color/grey"
+ app:clock_hourHandColor="@android:color/darker_gray"
app:clock_hourHandLength="50dp"
- app:clock_innerCircleColor="@color/grey"
+ app:clock_innerCircleColor="@android:color/darker_gray"
app:clock_innerCircleRadius="5dp"
- app:clock_minuteHandColor="@color/grey"
+ app:clock_minuteHandColor="@android:color/darker_gray"
app:clock_minuteHandLength="80dp"
- app:clock_outerCircleBorderColor="@color/grey"
+ app:clock_outerCircleBorderColor="@android:color/darker_gray"
app:clock_outerCircleBorderWidth="10dp" />
diff --git a/app/src/main/res/layout/activity_main_multipleripple.xml b/app/src/main/res/layout/activity_main_multipleripple.xml
index 4ec98ea..ef738c0 100644
--- a/app/src/main/res/layout/activity_main_multipleripple.xml
+++ b/app/src/main/res/layout/activity_main_multipleripple.xml
@@ -91,7 +91,7 @@
android:layout_height="wrap_content"
android:layout_centerInParent="true"
app:multipleripple_animDuration="4000"
- app:multipleripple_circleColor="@color/grey"
+ app:multipleripple_circleColor="@android:color/darker_gray"
app:multipleripple_circleInitialRadius="36dp"
app:multipleripple_fromAlpha="0.6"
app:multipleripple_interpolator="@android:anim/linear_interpolator"
diff --git a/app/src/main/res/layout/main_curves.xml b/app/src/main/res/layout/main_curves.xml
index 1d5bd52..55b4348 100644
--- a/app/src/main/res/layout/main_curves.xml
+++ b/app/src/main/res/layout/main_curves.xml
@@ -71,7 +71,7 @@
android:layout_height="wrap_content"
android:layout_margin="16dp"
app:curves_animDuration="1000"
- app:curves_curveColor="@color/grey"
+ app:curves_curveColor="@android:color/darker_gray"
app:curves_curveSweepAngle="150"
app:curves_curveWidth="5dp"
app:curves_distanceBetweenCurves="5dp"
diff --git a/app/src/main/res/layout/main_fidget.xml b/app/src/main/res/layout/main_fidget.xml
new file mode 100644
index 0000000..d473ea8
--- /dev/null
+++ b/app/src/main/res/layout/main_fidget.xml
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index f899f3d..fb83572 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -13,11 +13,14 @@
#FFC200
#77FFC200
+ #0000ff
#2196F3
#BBDEFB
#55A9A9A9
+ #8B008B
+
- @color/red
@@ -34,7 +37,7 @@
- @color/red
- @color/amber
- @color/green
- - @color/grey
+ - @android:color/darker_gray
diff --git a/loaderspack/build.gradle b/loaderspack/build.gradle
index 97d19b2..fdeca48 100644
--- a/loaderspack/build.gradle
+++ b/loaderspack/build.gradle
@@ -8,7 +8,7 @@ repositories {
ext {
PUBLISH_GROUP_ID = 'com.agrawalsuneet.androidlibs'
PUBLISH_ARTIFACT_ID = 'loaderspack'
- PUBLISH_VERSION = '0.7'
+ PUBLISH_VERSION = '0.8'
}
android {
@@ -19,8 +19,8 @@ android {
defaultConfig {
minSdkVersion 16
targetSdkVersion 27
- versionCode 7
- versionName "0.7"
+ versionCode 8
+ versionName "0.8"
}
buildTypes {
diff --git a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/basicviews/ArcView.kt b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/basicviews/ArcView.kt
index 3eaea19..ffe2d52 100644
--- a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/basicviews/ArcView.kt
+++ b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/basicviews/ArcView.kt
@@ -21,7 +21,7 @@ class ArcView : View {
var sweepAngle: Float = 180.0f
- var arcColor: Int = resources.getColor(R.color.red)
+ var arcColor: Int = resources.getColor(android.R.color.holo_red_dark)
var drawOnlyStroke: Boolean = true
private val paint: Paint = Paint()
@@ -64,7 +64,7 @@ class ArcView : View {
this.startAngle = typedArray.getFloat(R.styleable.ArcView_startAngle, 0.0f)
this.sweepAngle = typedArray.getFloat(R.styleable.ArcView_sweepAngle, 180.0f)
- this.arcColor = typedArray.getColor(R.styleable.ArcView_arcColor, resources.getColor(R.color.red))
+ this.arcColor = typedArray.getColor(R.styleable.ArcView_arcColor, resources.getColor(android.R.color.holo_red_dark))
this.drawOnlyStroke = typedArray.getBoolean(R.styleable.ArcView_drawOnlyStroke, true)
diff --git a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/basicviews/CircularSticksBaseView.kt b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/basicviews/CircularSticksBaseView.kt
index 442eccf..e9872f8 100644
--- a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/basicviews/CircularSticksBaseView.kt
+++ b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/basicviews/CircularSticksBaseView.kt
@@ -19,7 +19,7 @@ open class CircularSticksBaseView : View, LoaderContract {
var outerCircleRadius: Float = 200.0f
var innerCircleRadius: Float = 100.0f
- open var sticksColor: Int = resources.getColor(R.color.grey)
+ open var sticksColor: Int = resources.getColor(android.R.color.darker_gray)
var viewBackgroundColor: Int = resources.getColor(android.R.color.white)
protected lateinit var sticksPaint: Paint
@@ -64,7 +64,7 @@ open class CircularSticksBaseView : View, LoaderContract {
this.sticksColor = typedArray
- .getColor(R.styleable.CircularSticksBaseView_sticksbase_stickColor, resources.getColor(R.color.grey))
+ .getColor(R.styleable.CircularSticksBaseView_sticksbase_stickColor, resources.getColor(android.R.color.darker_gray))
this.viewBackgroundColor = typedArray
.getColor(R.styleable.CircularSticksBaseView_sticksbase_viewBackgroundColor, resources.getColor(android.R.color.white))
diff --git a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/basicviews/FidgetView.kt b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/basicviews/FidgetView.kt
new file mode 100644
index 0000000..e70c06e
--- /dev/null
+++ b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/basicviews/FidgetView.kt
@@ -0,0 +1,116 @@
+package com.agrawalsuneet.loaderspack.basicviews
+
+import android.content.Context
+import android.graphics.Canvas
+import android.graphics.Paint
+import android.util.AttributeSet
+import android.view.View
+import com.agrawalsuneet.loaderspack.R
+
+/**
+ * Created by agrawalsuneet on 9/20/18.
+ */
+
+class FidgetView : View {
+
+ companion object {
+ const val distanceFactor = 0.8
+ }
+
+ var fidgetRadius: Int = 100
+ var bodyColor: Int = resources.getColor(android.R.color.holo_red_light)
+ var sideCirclesColor = resources.getColor(android.R.color.darker_gray)
+
+ private val centerPaint: Paint = Paint()
+ private val sidesPaint: Paint = Paint()
+
+ private var calWidthHeight = 0.0f
+
+ private val sin30 = 0.5
+ private val cos30 = 0.866
+
+ constructor(context: Context) : super(context) {
+ initValues()
+ }
+
+ constructor(context: Context, attrs: AttributeSet) : super(context, attrs) {
+ initAttributes(attrs)
+ initValues()
+ }
+
+ constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {
+ initAttributes(attrs)
+ initValues()
+ }
+
+ constructor(context: Context, fidgetRadius: Int, bodyColor: Int, sideCirclesColor: Int) : super(context) {
+ this.fidgetRadius = fidgetRadius
+ this.bodyColor = bodyColor
+ this.sideCirclesColor = sideCirclesColor
+ initValues()
+ }
+
+
+ fun initAttributes(attrs: AttributeSet) {
+
+ val typedArray = context.obtainStyledAttributes(attrs, R.styleable.FidgetView, 0, 0)
+
+ fidgetRadius = typedArray.getDimensionPixelSize(R.styleable.FidgetView_fidgetRadius, 100)
+ bodyColor = typedArray.getColor(R.styleable.FidgetView_fidgetBodyColor, resources.getColor(android.R.color.holo_red_light))
+ sideCirclesColor = typedArray.getColor(R.styleable.FidgetView_fidgetSideCirclesColor, resources.getColor(android.R.color.darker_gray))
+
+ typedArray.recycle()
+ }
+
+ private fun initValues() {
+
+ centerPaint.isAntiAlias = true
+ centerPaint.style = Paint.Style.FILL
+ centerPaint.color = bodyColor
+
+ sidesPaint.isAntiAlias = true
+ sidesPaint.style = Paint.Style.FILL
+ sidesPaint.color = sideCirclesColor
+ }
+
+ override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec)
+
+ calWidthHeight = (2 * fidgetRadius) + (4 * distanceFactor * (fidgetRadius)).toFloat()
+ setMeasuredDimension(calWidthHeight.toInt(), calWidthHeight.toInt())
+ }
+
+
+ override fun onDraw(canvas: Canvas) {
+ super.onDraw(canvas)
+
+ val centerXY = (calWidthHeight / 2)
+
+ //center circle
+ canvas.drawCircle(centerXY, centerXY, fidgetRadius.toFloat(), centerPaint)
+
+ //top circle
+ var xCor = calWidthHeight / 2
+ var yCor = (centerXY - ((2 * fidgetRadius) * distanceFactor)).toFloat()
+
+ canvas.drawCircle(xCor, yCor, fidgetRadius.toFloat(), centerPaint)
+ canvas.drawCircle(xCor, yCor, (fidgetRadius * 3 / 5).toFloat(), sidesPaint)
+
+ //right circle
+ xCor = centerXY + (cos30 * distanceFactor * (2 * fidgetRadius)).toFloat()
+ yCor = centerXY + (sin30 * distanceFactor * (2 * fidgetRadius)).toFloat()
+
+ canvas.drawCircle(xCor, yCor, fidgetRadius.toFloat(), centerPaint)
+ canvas.drawCircle(xCor, yCor, (fidgetRadius * 3 / 5).toFloat(), sidesPaint)
+
+ //left circle
+ xCor = centerXY - (cos30 * distanceFactor * (2 * fidgetRadius)).toFloat()
+ yCor = centerXY + (sin30 * distanceFactor * (2 * fidgetRadius)).toFloat()
+
+ canvas.drawCircle(xCor, yCor, fidgetRadius.toFloat(), centerPaint)
+ canvas.drawCircle(xCor, yCor, (fidgetRadius * 3 / 5).toFloat(), sidesPaint)
+
+ pivotX = centerXY
+ pivotY = centerXY
+ }
+}
\ No newline at end of file
diff --git a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/ArcProgressLoader.kt b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/ArcProgressLoader.kt
index e20ad77..273ad3d 100644
--- a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/ArcProgressLoader.kt
+++ b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/ArcProgressLoader.kt
@@ -25,9 +25,9 @@ class ArcProgressLoader : View, LoaderContract {
field = if (value > 360) (value % 360) else value
}
- var arcColorsArray: IntArray = intArrayOf(resources.getColor(R.color.red),
- resources.getColor(R.color.amber),
- resources.getColor(R.color.green))
+ var arcColorsArray: IntArray = intArrayOf(resources.getColor(android.R.color.holo_red_dark),
+ resources.getColor(android.R.color.holo_orange_light),
+ resources.getColor(android.R.color.holo_green_light))
private val paint: Paint = Paint()
private var centerPoint: Float = 0.0f
diff --git a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/CircularSticksLoader.kt b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/CircularSticksLoader.kt
index 2e3f941..c75576c 100644
--- a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/CircularSticksLoader.kt
+++ b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/CircularSticksLoader.kt
@@ -14,7 +14,7 @@ import com.agrawalsuneet.loaderspack.basicviews.CircularSticksBaseView
*/
class CircularSticksLoader : CircularSticksBaseView {
- override var sticksColor: Int = resources.getColor(R.color.grey)
+ override var sticksColor: Int = resources.getColor(android.R.color.darker_gray)
set(defaultColor) {
field = defaultColor
if (defaultStickPaint != null) {
@@ -22,7 +22,7 @@ class CircularSticksLoader : CircularSticksBaseView {
}
}
- open var selectedStickColor: Int = resources.getColor(R.color.black)
+ open var selectedStickColor: Int = resources.getColor(android.R.color.black)
set(selectedColor) {
field = selectedColor
if (selectedStickPaint != null) {
@@ -112,9 +112,9 @@ class CircularSticksLoader : CircularSticksBaseView {
this.sticksColor = typedArray
- .getColor(R.styleable.CircularSticksLoader_circularsticks_stickColor, resources.getColor(R.color.grey))
+ .getColor(R.styleable.CircularSticksLoader_circularsticks_stickColor, resources.getColor(android.R.color.darker_gray))
this.selectedStickColor = typedArray
- .getColor(R.styleable.CircularSticksLoader_circularsticks_selectedStickColor, resources.getColor(R.color.black))
+ .getColor(R.styleable.CircularSticksLoader_circularsticks_selectedStickColor, resources.getColor(android.R.color.black))
this.viewBackgroundColor = typedArray
.getColor(R.styleable.CircularSticksLoader_circularsticks_viewBackgroundColor, resources.getColor(android.R.color.white))
diff --git a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/ClockLoader.kt b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/ClockLoader.kt
index 09c659c..6a3744a 100644
--- a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/ClockLoader.kt
+++ b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/ClockLoader.kt
@@ -46,31 +46,31 @@ class ClockLoader : View, LoaderContract {
initValues()
}
- var outerCircleBorderColor: Int = resources.getColor(R.color.grey)
+ var outerCircleBorderColor: Int = resources.getColor(android.R.color.darker_gray)
set(value) {
field = value
initPaints()
}
- var bigCircleColor: Int = resources.getColor(R.color.black)
+ var bigCircleColor: Int = resources.getColor(android.R.color.black)
set(value) {
field = value
initPaints()
}
- var hourHandColor: Int = resources.getColor(R.color.grey)
+ var hourHandColor: Int = resources.getColor(android.R.color.darker_gray)
set(value) {
field = value
initPaints()
}
- var minuteHandColor: Int = resources.getColor(R.color.grey)
+ var minuteHandColor: Int = resources.getColor(android.R.color.darker_gray)
set(value) {
field = value
initPaints()
}
- var innerCircleColor: Int = resources.getColor(R.color.grey)
+ var innerCircleColor: Int = resources.getColor(android.R.color.darker_gray)
set(value) {
field = value
initPaints()
@@ -124,15 +124,15 @@ class ClockLoader : View, LoaderContract {
.getDimension(R.styleable.ClockLoader_clock_minuteHandLength, 300.0f)
this.outerCircleBorderColor = typedArray
- .getColor(R.styleable.ClockLoader_clock_outerCircleBorderColor, resources.getColor(R.color.grey))
+ .getColor(R.styleable.ClockLoader_clock_outerCircleBorderColor, resources.getColor(android.R.color.darker_gray))
this.bigCircleColor = typedArray
- .getColor(R.styleable.ClockLoader_clock_bigCircleColor, resources.getColor(R.color.black))
+ .getColor(R.styleable.ClockLoader_clock_bigCircleColor, resources.getColor(android.R.color.black))
this.innerCircleColor = typedArray
- .getColor(R.styleable.ClockLoader_clock_innerCircleColor, resources.getColor(R.color.grey))
+ .getColor(R.styleable.ClockLoader_clock_innerCircleColor, resources.getColor(android.R.color.darker_gray))
this.hourHandColor = typedArray
- .getColor(R.styleable.ClockLoader_clock_hourHandColor, resources.getColor(R.color.grey))
+ .getColor(R.styleable.ClockLoader_clock_hourHandColor, resources.getColor(android.R.color.darker_gray))
this.minuteHandColor = typedArray
- .getColor(R.styleable.ClockLoader_clock_minuteHandColor, resources.getColor(R.color.grey))
+ .getColor(R.styleable.ClockLoader_clock_minuteHandColor, resources.getColor(android.R.color.darker_gray))
this.animSpeedMultiplier = typedArray
.getFloat(R.styleable.ClockLoader_clock_animSpeedMultiplier, 1.0f)
diff --git a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/FidgetLoader.kt b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/FidgetLoader.kt
new file mode 100644
index 0000000..d7df1a5
--- /dev/null
+++ b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/FidgetLoader.kt
@@ -0,0 +1,122 @@
+package com.agrawalsuneet.loaderspack.loaders
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.Gravity
+import android.view.ViewTreeObserver
+import android.view.animation.*
+import android.widget.LinearLayout
+import com.agrawalsuneet.loaderspack.R
+import com.agrawalsuneet.loaderspack.basicviews.FidgetView
+import com.agrawalsuneet.loaderspack.basicviews.LoaderContract
+
+/**
+ * Created by agrawalsuneet on 9/20/18.
+ */
+class FidgetLoader : LinearLayout, LoaderContract {
+
+ var fidgetRadius: Int = 100
+ var bodyColor: Int = resources.getColor(android.R.color.holo_red_light)
+ var sideCirclesColor = resources.getColor(android.R.color.darker_gray)
+
+ var noOfRotation: Int = 20
+ var animDuration: Int = 3000
+ var interpolator: Interpolator = AccelerateDecelerateInterpolator()
+
+ private lateinit var fidgetView: FidgetView
+
+ constructor(context: Context) : super(context) {
+ initView()
+ }
+
+ constructor(context: Context, attrs: AttributeSet) : super(context, attrs) {
+ initAttributes(attrs)
+ initView()
+ }
+
+ constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {
+ initAttributes(attrs)
+ initView()
+ }
+
+ constructor(context: Context, fidgetRadius: Int, bodyColor: Int, sideCirclesColor: Int) : super(context) {
+ this.fidgetRadius = fidgetRadius
+ this.bodyColor = bodyColor
+ this.sideCirclesColor = sideCirclesColor
+ initView()
+ }
+
+
+ override fun initAttributes(attrs: AttributeSet) {
+ val typedArray = context.obtainStyledAttributes(attrs, R.styleable.FidgetLoader, 0, 0)
+
+ fidgetRadius = typedArray.getDimensionPixelSize(R.styleable.FidgetLoader_fidget_fidgetRadius, 100)
+
+ bodyColor = typedArray.getColor(R.styleable.FidgetLoader_fidget_bodyColor,
+ resources.getColor(android.R.color.holo_red_light))
+
+ sideCirclesColor = typedArray.getColor(R.styleable.FidgetLoader_fidget_sideCirclesColor,
+ resources.getColor(android.R.color.darker_gray))
+
+
+ noOfRotation = typedArray.getInt(R.styleable.FidgetLoader_fidget_noOfRotation, 20)
+
+ animDuration = typedArray.getInt(R.styleable.FidgetLoader_fidget_animDuration, 3000)
+
+ interpolator = AnimationUtils.loadInterpolator(context,
+ typedArray.getResourceId(R.styleable.FidgetLoader_fidget_interpolator,
+ android.R.anim.accelerate_decelerate_interpolator))
+
+ typedArray.recycle()
+ }
+
+ override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec)
+
+ val calWidthHeight = (2 * fidgetRadius) + (4 * FidgetView.distanceFactor * (fidgetRadius)).toFloat()
+ setMeasuredDimension(calWidthHeight.toInt(), calWidthHeight.toInt())
+ }
+
+ private fun initView() {
+ removeAllViews()
+ removeAllViewsInLayout()
+
+ this.gravity = Gravity.CENTER
+ this.orientation = LinearLayout.VERTICAL
+
+ fidgetView = FidgetView(context, fidgetRadius, bodyColor, sideCirclesColor)
+ this.addView(fidgetView)
+
+ val loaderView = this
+
+ viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
+ override fun onGlobalLayout() {
+ startLoading()
+
+ val vto = loaderView.viewTreeObserver
+ vto.removeOnGlobalLayoutListener(this)
+ }
+ })
+ }
+
+ private fun startLoading() {
+ val anim = getRotateAnim()
+ fidgetView.startAnimation(anim)
+ }
+
+ private fun getRotateAnim(): RotateAnimation {
+
+ val fromDegree = 0.0f
+ val toDegree = 360f * noOfRotation
+
+ val rotateAnimation = RotateAnimation(fromDegree, toDegree,
+ fidgetView.pivotX, fidgetView.pivotY)
+ rotateAnimation.duration = animDuration.toLong()
+ rotateAnimation.fillAfter = true
+ rotateAnimation.interpolator = interpolator
+ rotateAnimation.repeatCount = Animation.INFINITE
+
+ return rotateAnimation
+ }
+
+}
\ No newline at end of file
diff --git a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/MultipleRippleLoader.kt b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/MultipleRippleLoader.kt
index 5ed4a91..5f710fa 100644
--- a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/MultipleRippleLoader.kt
+++ b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/MultipleRippleLoader.kt
@@ -48,7 +48,7 @@ class MultipleRippleLoader : RippleLoader {
.getDimensionPixelSize(R.styleable.MultipleRippleLoader_multipleripple_circleInitialRadius, 40)
circleColor = typedArray.getColor(R.styleable.MultipleRippleLoader_multipleripple_circleColor,
- resources.getColor(R.color.red))
+ resources.getColor(android.R.color.holo_red_dark))
noOfRipples = typedArray.getInteger(R.styleable.MultipleRippleLoader_multipleripple_noOfRipples, 3)
diff --git a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/RippleLoader.kt b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/RippleLoader.kt
index 9b5b320..7e31879 100644
--- a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/RippleLoader.kt
+++ b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/RippleLoader.kt
@@ -22,7 +22,7 @@ open class RippleLoader : LinearLayout, LoaderContract {
initView()
}
- var circleColor: Int = resources.getColor(R.color.red)
+ var circleColor: Int = resources.getColor(android.R.color.holo_red_dark)
set(value) {
field = value
initView()
@@ -59,7 +59,7 @@ open class RippleLoader : LinearLayout, LoaderContract {
.getDimensionPixelSize(R.styleable.RippleLoader_ripple_circleInitialRadius, 40)
circleColor = typedArray.getColor(R.styleable.RippleLoader_ripple_circleColor,
- resources.getColor(R.color.red))
+ resources.getColor(android.R.color.holo_red_dark))
fromAlpha = typedArray.getFloat(R.styleable.RippleLoader_ripple_fromAlpha, 0.9f)
diff --git a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/RotatingCircularSticksLoader.kt b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/RotatingCircularSticksLoader.kt
index 586028b..1dea2cf 100644
--- a/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/RotatingCircularSticksLoader.kt
+++ b/loaderspack/src/main/java/com/agrawalsuneet/loaderspack/loaders/RotatingCircularSticksLoader.kt
@@ -21,7 +21,7 @@ class RotatingCircularSticksLoader : LinearLayout, LoaderContract {
var outerCircleRadius: Float = 200.0f
var innerCircleRadius: Float = 100.0f
- var sticksColor: Int = resources.getColor(R.color.grey)
+ var sticksColor: Int = resources.getColor(android.R.color.darker_gray)
var viewBackgroundColor: Int = resources.getColor(android.R.color.white)
var animDuration: Int = 5000
@@ -64,7 +64,7 @@ class RotatingCircularSticksLoader : LinearLayout, LoaderContract {
this.sticksColor = typedArray
- .getColor(R.styleable.RotatingCircularSticksLoader_rotatingsticks_stickColor, resources.getColor(R.color.grey))
+ .getColor(R.styleable.RotatingCircularSticksLoader_rotatingsticks_stickColor, resources.getColor(android.R.color.darker_gray))
this.viewBackgroundColor = typedArray
.getColor(R.styleable.RotatingCircularSticksLoader_rotatingsticks_viewBackgroundColor, resources.getColor(android.R.color.white))
diff --git a/loaderspack/src/main/res/values/attrs.xml b/loaderspack/src/main/res/values/attrs.xml
index 9f33333..d5d4fde 100644
--- a/loaderspack/src/main/res/values/attrs.xml
+++ b/loaderspack/src/main/res/values/attrs.xml
@@ -17,6 +17,12 @@
+
+
+
+
+
+
@@ -122,4 +128,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/loaderspack/src/main/res/values/colors.xml b/loaderspack/src/main/res/values/colors.xml
deleted file mode 100644
index 3914a3f..0000000
--- a/loaderspack/src/main/res/values/colors.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
- #000000
- #A9A9A9
-
- #0000ff
- #ff0000
- #FFC200
- #00e500
-