Home

Awesome

Floating Action Button Toolbar

Android Arsenal

Provides the Floating Action Button Toolbar as specified in the Material Design Guide in a simple library.

demo

Usage

build.gradle

repositories {
    jcenter()
}

dependencies {
    compile 'com.bowyer.app:fab-toolbar:1.1.0@aar'
}

Layout XML

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <com.github.ksoichiro.android.observablescrollview.ObservableListView
        android:id="@+id/list_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_margin="16dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:src="@drawable/ic_fab_icon"/>

    <com.bowyer.app.fabtoolbar.FabToolbar
        android:id="@+id/fabtoolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        app:tb_color="@color/primary"
        app:tb_container_gravity="center"
        app:tb_anim_duration="400"
        app:tb_fab_type="normal">

        <!--add your original layout-->

    </com.bowyer.app.fabtoolbar.FabToolbar>

</android.support.design.widget.CoordinatorLayout>

Make sure to user CoordinatorLayout as your container for the Floating Action Button if you want to preserve same margin values for both Lollipop and pre Lollipop devices.

Set up

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
        initListView();
        //set floating button to FabToolbar
        mFabToolbar.setFab(mFab);
    }

Show Hide

//expand FabToolbar
mFabToolbar.expandFab();

//if mFabToolbar is expand,mFabToolbar contract. else fab slide out.
mFabToolbar.slideOutFab();

//fab slide in
mFabToolbar.slideInFab();


Credits

This library use following libraries.

Feature

License

Copyright (c) 2015 Bowyer
Released under the MIT license
http://opensource.org/licenses/mit-license.php