Android-animated-toolbar
What's Android-animated-toolbar ?
One day, I saw a question about "How to implement fade_in on the under the actionBar". I find this question really interesting so i started to find out a solution and 1 day later this sample was born.
Demo
Feature
- Same characteristics as android.support.v7.widget.Toolbar
- Can be use under fragment and activity.
- Two animations : fade_in and fade_out.
- You can choose the animation duration.
- You can choose a delay (time before launching the animation).
- You can choose the color of the animation.
- You can add an onAnimationEnded() listener.
- You can stop the animation.
Next version is comming with the menuItem support, see https://github.com/kassisdion/Android-animated-toolbar/issues/1
Import
Add it in your project's build.gradle at the end of repositories:
repositories {
// ...
maven {
url "https://jitpack.io"
}
}
Step 2. Add the dependency in the form
dependencies {
compile 'com.github.kassisdion:Android-animated-toolbar:v1.1.0'
}
Usage
Step 1 : Define your toolbar under your xml :
<?xml version="1.0" encoding="utf-8"?>
<com.kassisdion.lib.toolbar.AnimatedToolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" />
Step 2 : Initialize the toolbar under your activity :
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AnimatedToolbar toolbar = (AnimatedToolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
}
Step 3 : Start the animation :
You can start the animation from your activity or from your fragment
final int duration = 2 * 1000; //animation duration in ms
toolbar.getAnimator()
.startAnimation(duration, ToolbarAnimator.AnimationType.FADE_IN);
You can add some extra parameters before starting the animation :
toolbar.getAnimator()
.setCallback(new ToolbarAnimatorCallback() {
@Override
public void hasEnded() {
//Do what you want, animation has ended
}
}
)
.setDelay(1 * 1000)//time before starting animation (in ms)
.startAnimation(duration, ToolbarAnimator.AnimationType.FADE_IN
Sample
You can take look at the app folder more information.
Javadoc
You can take a look at the javadoc
License
See LICENSE.txt
Contact
If you have any new idea about this project, feel free to contact me.