Skip to content

Commit

Permalink
Merge pull request #28 from agrawalsuneet/dev
Browse files Browse the repository at this point in the history
Merge Dev to Master for 1.3 release
  • Loading branch information
agrawalsuneet authored Feb 10, 2019
2 parents bbd7134 + 7c1ec07 commit b87922c
Show file tree
Hide file tree
Showing 12 changed files with 440 additions and 21 deletions.
69 changes: 62 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,24 @@ latest version : [ ![Download](https://api.bintray.com/packages/agrawalsuneet/an
[![Android Arsenal]( https://img.shields.io/badge/Android%20Arsenal-DotLoadersPack-green.svg?style=flat )]( https://android-arsenal.com/details/1/7244 )



![lazyloader](https://user-images.githubusercontent.com/12999622/36225792-b7044432-11c3-11e8-8e22-5bbdcafa2312.gif) ![tashieloader](https://user-images.githubusercontent.com/12999622/36225793-b71f694c-11c3-11e8-9a81-8414bafb26c5.gif)


![slidingloader](https://user-images.githubusercontent.com/12999622/34130222-f58ba220-e43e-11e7-8f60-4971918fecde.gif) ![RotatingCircularDotsLoader](https://user-images.githubusercontent.com/12999622/34453427-d9aa8294-ed4c-11e7-8b1d-fe98d0c2c3dc.gif)


![trailingcirculardotsloader](https://user-images.githubusercontent.com/12999622/39367184-f3bb706a-4a2d-11e8-9120-5027bbef2861.gif) ![zeeloader](https://user-images.githubusercontent.com/12999622/44630261-8ba41980-a952-11e8-9ba5-45f4cafb473b.gif)


![allianceloader](https://user-images.githubusercontent.com/12999622/44946787-d1e9f480-adfa-11e8-82ff-23e5f19a656b.gif) ![lightsloader](https://user-images.githubusercontent.com/12999622/50548389-bb9d5980-0c71-11e9-8803-f25d1175ced0.gif)


![pullinloader](https://user-images.githubusercontent.com/12999622/52536021-80676d80-2d7b-11e9-9b06-8135d6d15dbb.gif) ![lineardotsloader](https://user-images.githubusercontent.com/12999622/35482391-54665328-042c-11e8-954b-93a92ebe2b0c.gif)

![lineardotsloader](https://user-images.githubusercontent.com/12999622/35482391-54665328-042c-11e8-954b-93a92ebe2b0c.gif) ![circulardotsloader](https://user-images.githubusercontent.com/12999622/36224573-f274b956-11bf-11e8-8f97-e4c031959465.gif)
![circulardotsloader](https://user-images.githubusercontent.com/12999622/36224573-f274b956-11bf-11e8-8f97-e4c031959465.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:dotsloader:1.2'
implementation 'com.agrawalsuneet.androidlibs:dotsloader:1.3'
```


Expand Down Expand Up @@ -392,6 +388,65 @@ LightsLoader lightsLoader = new LightsLoader(
containerLL.addView(lightsLoader);
```

### PullInLoader
##### Through XML
```
<com.agrawalsuneet.dotsloader.loaders.PullInLoader
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:pullin_animDur="3000"
app:pullin_bigCircleRadius="42dp"
app:pullin_dotsColor="@color/blue_selected"
app:pullin_dotsRadius="10dp"
app:pullin_useMultipleColors="true"
app:pullin_colorsArray="@array/vibgyorg"/>
<com.agrawalsuneet.dotsloader.loaders.PullInLoader
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:pullin_animDur="2500"
app:pullin_bigCircleRadius="36dp"
app:pullin_dotsColor="@color/blue_selected"
app:pullin_dotsRadius="8dp"/>
```

##### Through Code

* Kotlin
```
val pullInLoader = PullInLoader(this,
20, 100, ContextCompat.getColor(this, R.color.red))
.apply {
animDuration = 2000
}
containerLL.addView(pullInLoader)
val pullInLoader2 = PullInLoader(this,
30, 160, resources.getIntArray(R.array.vibgyorg))
.apply {
animDuration = 2000
}
containerLL.addView(pullInLoader2)
```


* Java
```
PullInLoader pullInLoader = new PullInLoader(this,
20, 100, ContextCompat.getColor(this, R.color.red));
pullInLoader.setAnimDuration(2000);
containerLL.addView(pullInLoader);
PullInLoader pullInLoader2 = new PullInLoader(this,
30, 160, getResources().getIntArray(R.array.vibgyorg));
pullInLoader.setAnimDuration(2000);
containerLL.addView(pullInLoader2);
```


### LinearDotsLoader
##### Through XML
Expand Down
27 changes: 24 additions & 3 deletions app/src/main/java/com/agrawalsuneet/loaders/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -14,25 +14,46 @@ class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main_lights)
setContentView(R.layout.main_pullin)

supportActionBar?.title = "LightsLoader"
supportActionBar?.title = "PullInLoader"

containerLL = findViewById(R.id.container) as LinearLayout

//initLinearDotsLoader()
//initCircularDotsLoader()

//initLazyLoader()
//initTashieLoader()

//initSlidongLoader()
//initRotatingCircularDotsLoader()

//initTrailingCirculerDotsLoader()

//initZeeLoader()

//initAllianceLoader()
//initLightsLoader()

//initPullInLoader()
}

private fun initPullInLoader() {
val pullInLoader = PullInLoader(this,
20, 100, ContextCompat.getColor(this, R.color.red))
.apply {
animDuration = 2000
}

containerLL.addView(pullInLoader)

val pullInLoader2 = PullInLoader(this,
30, 160, resources.getIntArray(R.array.vibgyorg))
.apply {
animDuration = 2000
}

containerLL.addView(pullInLoader2)
}

private fun initLightsLoader() {
Expand Down
13 changes: 13 additions & 0 deletions app/src/main/java/com/agrawalsuneet/loaders/MainActivityJava.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

import com.agrawalsuneet.dotsloader.loaders.AllianceLoader;
import com.agrawalsuneet.dotsloader.loaders.LightsLoader;
import com.agrawalsuneet.dotsloader.loaders.PullInLoader;
import com.agrawalsuneet.dotsloader.loaders.RotatingCircularDotsLoader;
import com.agrawalsuneet.dotsloader.loaders.SlidingLoader;
import com.agrawalsuneet.dotsloader.loaders.TashieLoader;
Expand Down Expand Up @@ -113,6 +114,18 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {


containerLL.addView(lightsLoader);

PullInLoader pullInLoader = new PullInLoader(this,
20, 100, ContextCompat.getColor(this, R.color.red));
pullInLoader.setAnimDuration(2000);

containerLL.addView(pullInLoader);

PullInLoader pullInLoader2 = new PullInLoader(this,
30, 160, getResources().getIntArray(R.array.vibgyorg));
pullInLoader.setAnimDuration(2000);

containerLL.addView(pullInLoader2);
}

}
66 changes: 66 additions & 0 deletions app/src/main/res/layout/main_pullin.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:gravity="center"
android:orientation="horizontal">

<com.agrawalsuneet.dotsloader.loaders.PullInLoader
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:pullin_animDur="2000"
app:pullin_bigCircleRadius="24dp"
app:pullin_dotsColor="@color/red"
app:pullin_dotsRadius="6dp"/>

<com.agrawalsuneet.dotsloader.loaders.PullInLoader
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:pullin_animDur="2000"
app:pullin_bigCircleRadius="24dp"
app:pullin_dotsColor="@color/amber"
app:pullin_dotsRadius="6dp"/>

<com.agrawalsuneet.dotsloader.loaders.PullInLoader
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:pullin_animDur="2000"
app:pullin_bigCircleRadius="24dp"
app:pullin_dotsColor="@color/green"
app:pullin_dotsRadius="6dp"/>

</LinearLayout>

<com.agrawalsuneet.dotsloader.loaders.PullInLoader
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
app:pullin_animDur="3000"
app:pullin_bigCircleRadius="42dp"
app:pullin_dotsColor="@color/blue_selected"
app:pullin_dotsRadius="10dp"
app:pullin_useMultipleColors="true"
app:pullin_colorsArray="@array/vibgyorg"/>

<com.agrawalsuneet.dotsloader.loaders.PullInLoader
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
app:pullin_animDur="2500"
app:pullin_bigCircleRadius="36dp"
app:pullin_dotsColor="@color/blue_selected"
app:pullin_dotsRadius="8dp"/>

</LinearLayout>
17 changes: 17 additions & 0 deletions app/src/main/res/values/colors.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,21 @@
<color name="amber_default">#77FFC200</color>
<color name="green_default">#7700e500</color>

<color name="violet">#9400D3</color>
<color name="indigo">#4B0082</color>
<color name="blue">#0000FF</color>
<color name="orange">#FF7F00</color>


<integer-array name="vibgyorg">
<item>@color/violet</item>
<item>@color/indigo</item>
<item>@color/blue</item>
<item>@color/green</item>
<item>@color/amber</item>
<item>@color/orange</item>
<item>@color/red</item>
<item>@color/grey</item>
</integer-array>

</resources>
6 changes: 3 additions & 3 deletions dotsloader/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ buildscript {
ext {
PUBLISH_GROUP_ID = 'com.agrawalsuneet.androidlibs'
PUBLISH_ARTIFACT_ID = 'dotsloader'
PUBLISH_VERSION = '1.2'
PUBLISH_VERSION = '1.3'
}

configurations {
Expand All @@ -29,8 +29,8 @@ android {
defaultConfig {
minSdkVersion 16
targetSdkVersion 28
versionCode 12
versionName "1.2"
versionCode 13
versionName "1.3"
}
buildTypes {
release {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,16 @@ class CircularLoaderBaseView : CircularAbstractView {
initPaints()
}

constructor(context: Context, dotsRadius: Int, bigCircleRadius: Int, dotsColorsArray: IntArray) : super(context) {
this.radius = dotsRadius
this.bigCircleRadius = bigCircleRadius
this.dotsColorsArray = dotsColorsArray
this.useMultipleColors = true

initCordinates()
initPaints()
}

constructor(context: Context, attrs: AttributeSet) : super(context, attrs) {
initAttributes(attrs)
initCordinates()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import android.content.Context
import android.graphics.Canvas
import android.util.AttributeSet

abstract class CircularAbstractView : DotsLoaderBaseView {
open class CircularAbstractView : DotsLoaderBaseView {

protected val noOfDots = 8
private val SIN_45 = 0.7071f
Expand All @@ -13,6 +13,9 @@ abstract class CircularAbstractView : DotsLoaderBaseView {

var bigCircleRadius: Int = 60

var useMultipleColors: Boolean = false
var dotsColorsArray = IntArray(8) { resources.getColor(android.R.color.darker_gray) }

constructor(context: Context) : super(context)

constructor(context: Context, attrs: AttributeSet) : super(context, attrs)
Expand Down Expand Up @@ -57,7 +60,14 @@ abstract class CircularAbstractView : DotsLoaderBaseView {
override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
for (i in 0 until noOfDots) {
canvas.drawCircle(dotsXCorArr[i], dotsYCorArr[i], radius.toFloat(), defaultCirclePaint)

if (useMultipleColors) {
defaultCirclePaint?.color = if (dotsColorsArray.size > i) dotsColorsArray[i] else defaultColor
}

defaultCirclePaint?.let {
canvas.drawCircle(dotsXCorArr[i], dotsYCorArr[i], radius.toFloat(), it)
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ abstract class DotsLoaderBaseView : View, LoaderContract {
invalidate()
}

var defaultColor: Int = resources.getColor(R.color.loader_defalut)
var defaultColor: Int = resources.getColor(android.R.color.darker_gray)
set(defaultColor) {
field = defaultColor
defaultCirclePaint?.color = defaultColor
Expand Down
Loading

0 comments on commit b87922c

Please sign in to comment.