Skip to content

Repository files navigation

FabTransitionLayout

Android Arsenal

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

It is strongly inspired by fab-toolbar

bottomsheettoolbarCoordinatorLayout
bottomsheetbottomsheetCoordinatorLayout

Usage

build.gradle

repositories {
jcenter()
}
dependencies {
compile 'com.bowyer.app:fabtransitionlayout:0.4.0@aar'
}

Layout XML

BottomSheetLayout

<FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"
>
<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_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="bottom|end"android:layout_marginBottom="32dp"android:layout_marginRight="32dp"android:src="@drawable/ic_add_white_24dp"app:borderWidth="0dp"app:fabSize="normal"app:rippleColor="@color/primary"
/>
<com.bowyer.app.fabtransitionlayout.BottomSheetLayout
android:id="@+id/bottom_sheet"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_gravity="bottom"app:ft_container_gravity="center"app:ft_color="@color/primary">
<ListViewandroid:id="@+id/list_menu"android:background="@color/primary"android:divider="@null"android:layout_width="match_parent"android:layout_height="wrap_content"/>
</com.bowyer.app.fabtransitionlayout.BottomSheetLayout>
</FrameLayout>

FooterLayout

<FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"xmlns:app="http://schemas.android.com/apk/res-auto"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_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="bottom|end"android:layout_marginBottom="32dp"android:layout_marginRight="32dp"android:src="@drawable/ic_add_white_24dp"app:borderWidth="0dp"app:fabSize="normal"app:rippleColor="@color/primary"
/>
<com.bowyer.app.fabtransitionlayout.FooterLayout
android:id="@+id/fabtoolbar"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_gravity="bottom"app:ft_container_gravity="center"app:ft_color="@color/primary">
<!--add your original layout-->
</com.bowyer.app.fabtransitionlayout.FooterLayout>
</FrameLayout>

Set up

@OverrideprotectedvoidonCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
initListView();
//set floating button to FabToolbarmBottomSheetLayout.setFab(mFab);
}

Show Hide

//expand FabToolbarmBottomSheetLayout.expandFab();
//if mBottomSheetLayout is expand,mBottomSheetLayout contract. else fab slide out.mBottomSheetLayout.slideOutFab();
//fab slide inmBottomSheetLayout.slideInFab();

Credits

This library use following libraries.

Code Style

Follow SquareAndroid.

Feature

  • A floating action button transforming into a single sheet of material

License

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

About

Deprecated

Resources

Stars

459 stars

Watchers

14 watching

Forks

Releases

Packages

Contributors

Languages