Skip to content

Android Library to make a flowing gradient effect, similar to that used in Instagram Android login screen

Notifications You must be signed in to change notification settings

dynamitechetan/Flowing-Gradient

Repository files navigation

Flowing Gradient Library

Android Arsenal License API Android ver 3.1+ Screenshot

How to use

Add these lines in your build.gradle files:

In your Project Level build.gradle
repositories {
        jcenter()
}
In your App Level build.gradle
dependencies {
    compile 'com.dynamitechetan.flowinggradient:flowinggradient:1.1'
}

Using Maven

<dependency>
<groupId>com.dynamitechetan.flowinggradient</groupId> 
<artifactId>flowinggradient</artifactId>
<version>1.1</version>
<type>pom</type>
</dependency>

BASIC USAGE

   <com.dynamitechetan.flowinggradient.FlowingGradient
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

To set your own gradients and transition duration using XML, you must add this line in your xml file in the first component:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:gradient="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
</RelativeLayout>

Making your own Gradient Animations.

Make a file like this and place it in drawable folder

<?xml version="1.0" encoding="UTF-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"  android:id="@+id/selected" android:oneshot="false">
    <!-- The drawables used here can be solid colors, gradients, shapes, images, etc. -->
    <item android:drawable="@drawable/one" android:duration="4000"  />
    <item android:drawable="@drawable/two" android:duration="4000" />
    <item android:drawable="@drawable/three" android:duration="4000" />
    <item android:drawable="@drawable/four" android:duration="4000" />
</animation-list>

<!--android:duration="4000" is the duration till the gradient will be shown on the screen-->

Making a Gradient in Android

<?xml version="1.0" encoding="UTF-8"?>
<shape   xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:angle="45"
        android:endColor="#D38312"
        android:startColor="#FF6B6B"
        android:type="linear" />
    <corners
        android:radius="0dp"/>
</shape>

USING YOUR OWN ANIMATION GRADIENTS USING XML

  <com.dynamitechetan.flowinggradient.FlowingGradient
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        gradient:transition_drawable="@drawable/trans"
        />

SETTING TRANSITION DURATION USING XML

  <com.dynamitechetan.flowinggradient.FlowingGradient
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        gradient:transition_duration = "4000"
        />

Using This Library in JAVA

BASIC USAGE

  RelativeLayout rl = (RelativeLayout) findViewById(R.id.rl);
  FlowingGradientClass grad = new FlowingGradientClass();
                grad.setBackgroundResource(R.drawable.translate)
                .onRelativeLayout(rl)
                .setTransitionDuration(4000)
                .start();

####You are requested to use the methods in this order or sometimes it can end up in a null pointer exception.

.onReltiveLayout() and be replaced by .onImageView() or .onLinearLayout()  as per use.

To set Alpha of the transition

  RelativeLayout rl = (RelativeLayout) findViewById(R.id.rl);
  FlowingGradientClass grad = new FlowingGradientClass();
                grad.setBackgroundResource(R.drawable.translate)
                .onRelativeLayout(rl)
                .setTransitionDuration(4000)
                .setAlpha(4)
                .start();

License

Copyright (c) 2016 Chetan Kaushik

Licensed under the Apache License, Version 2.0

About

Android Library to make a flowing gradient effect, similar to that used in Instagram Android login screen

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages