Android-animated-toolbar

Additional

Language
Java
Version
v1.1.0 (May 12, 2016)
Created
Sep 28, 2015
Updated
Oct 9, 2016 (Retired)
Owner
florian (kassisdion)
Contributor
florian (kassisdion)
1
Activity
Badge
Generate
Download
Source code

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

JitPack

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.