All Projects → rubensousa → Floatingtoolbar

rubensousa / Floatingtoolbar

Licence: apache-2.0
A toolbar that morphs from a FloatingActionButton

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Floatingtoolbar

flutter fab dialer
Floating action button dialer
Stars: ✭ 66 (-95.71%)
Mutual labels:  floatingactionbutton, fab
Fabulousfilter
Android library to animate Floating Action Button to Bottom Sheet Dialog and vice-versa
Stars: ✭ 2,477 (+60.84%)
Mutual labels:  fab, floatingactionbutton
Tc Material Design
Série de artigos sobre o Material Design Android
Stars: ✭ 64 (-95.84%)
Mutual labels:  toolbar, floatingactionbutton
Jjfloatingactionbutton
Floating Action Button for iOS
Stars: ✭ 243 (-84.22%)
Mutual labels:  fab, floatingactionbutton
Fab
🛍️ A Floating Action Button for macOS. Inspired by Material Design, and written in Swift.
Stars: ✭ 24 (-98.44%)
Mutual labels:  floatingactionbutton, fab
Fabsmenu
A simple library to use a menu of FloatingActionButtons from Design Support Library that follow Material Design Guidelines
Stars: ✭ 324 (-78.96%)
Mutual labels:  fab, floatingactionbutton
Hover
🎈 The smartest floating button
Stars: ✭ 81 (-94.74%)
Mutual labels:  fab, floatingactionbutton
Microstates
Composable state primitives for JavaScript
Stars: ✭ 1,312 (-14.81%)
Mutual labels:  transition
Customnavigationbarsample
Navigation Bar Customization in Xamarin Forms
Stars: ✭ 104 (-93.25%)
Mutual labels:  toolbar
Rapidfloatingactionbutton
Quick solutions for Floating Action Button,RapidFloatingActionButton(RFAB)
Stars: ✭ 1,289 (-16.3%)
Mutual labels:  floatingactionbutton
Omfm
Another floating action button menu with expand/collapse behavior, in kotlin
Stars: ✭ 86 (-94.42%)
Mutual labels:  floatingactionbutton
Hhfloatingview
An easy to use and setup floating view for your app. 🎡
Stars: ✭ 93 (-93.96%)
Mutual labels:  floatingactionbutton
Redux Idle Monitor
A Redux component to schedule events at stages of user idleness across multiple browser tabs.
Stars: ✭ 105 (-93.18%)
Mutual labels:  transition
Appearancenavigationcontroller
Example with advanced configuration of the navigation controller's appearance
Stars: ✭ 91 (-94.09%)
Mutual labels:  toolbar
React Router Transitions
Easily handle transitions in your React application 🍃
Stars: ✭ 117 (-92.4%)
Mutual labels:  transition
Floaty
❤️ Floating Action Button for iOS
Stars: ✭ 1,266 (-17.79%)
Mutual labels:  floatingactionbutton
Pixelwave
Fully customizable pixel wave animation for seamless page transitions.
Stars: ✭ 119 (-92.27%)
Mutual labels:  transition
Springfabmenu
A menu of FloatingActionButton items, designed to be anchored on an AppBarLayout.
Stars: ✭ 116 (-92.47%)
Mutual labels:  floatingactionbutton
Sunset.css
This library offers a collection of different CSS-powered transitions.
Stars: ✭ 99 (-93.57%)
Mutual labels:  transition
Gradient Screens
🌈 Gradients applied to buttons, texts and backgrounds in Flutter
Stars: ✭ 97 (-93.7%)
Mutual labels:  fab

FloatingToolbar

A toolbar that morphs from a FloatingActionButton

Inspired by the material design spec: https://www.google.com/design/spec/components/buttons-floating-action-button.html#buttons-floating-action-button-transitions

Available from API 14.

How to use

1. Add the following to your build.gradle:
compile 'com.github.rubensousa:floatingtoolbar:1.5.1'
2. Add FloatingToolbar as a direct child of CoordinatorLayout and before the FloatingActionButton:
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/coordinatorLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">
    
    <!-- Appbar -->

    <com.github.rubensousa.floatingtoolbar.FloatingToolbar
        android:id="@+id/floatingToolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:layout_gravity="bottom"
        app:floatingMenu="@menu/main" />

    <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_margin="@dimen/fab_margin"
        android:src="@drawable/ic_share_black_24dp" />
        
        
</android.support.design.widget.CoordinatorLayout>
3. Specify a menu resource file or custom layout with app:floatingMenu or app:floatingCustomView

You can also build a menu programmatically using FloatingToolbarMenuBuilder:

 mFloatingToolbar.setMenu(new FloatingToolbarMenuBuilder(this)
                .addItem(R.id.action_unread, R.drawable.ic_markunread_black_24dp, "Mark unread")
                .addItem(R.id.action_copy, R.drawable.ic_content_copy_black_24dp, "Copy")
                .addItem(R.id.action_google, R.drawable.ic_google_plus_box, "Google+")
                .addItem(R.id.action_facebook, R.drawable.ic_facebook_box, "Facebook")
                .addItem(R.id.action_twitter, R.drawable.ic_twitter_box, "Twitter")
                .build());
4. Attach the FAB to the FloatingToolbar to automatically start the transition on click event:
mFloatingToolbar.attachFab(fab);
5. Set a click listener
mFloatingToolbar.setClickListener(new FloatingToolbar.ItemClickListener() {
            @Override
            public void onItemClick(MenuItem item) {
                
            }

            @Override
            public void onItemLongClick(MenuItem item) {

            }
        });
6. If you want to show a snackbar in the same layout as the FloatingToolbar, please use:
mFloatingToolbar.showSnackBar(snackbar);
7. (Optional) Attach a RecyclerView to hide the FloatingToolbar on scroll:
mFloatingToolbar.attachRecyclerView(recyclerView);
8. (Optional) Use show() and hide() to trigger the transition anytime:
mFloatingToolbar.show();
mFloatingToolbar.hide();
9. (Optional) Add a MorphListener to listen to morph animation events
mFloatingToolbar.addMorphListener(new FloatingToolbar.MorphListener() {
    @Override
    public void onMorphEnd() {
        
    }

    @Override
    public void onMorphStart() {

    }

    @Override
    public void onUnmorphStart() {

    }

    @Override
    public void onUnmorphEnd() {

    }
});

Attributes

  • app:floatingToastOnLongClick -> boolean. Defaults to true
  • app:floatingHandleFabClick -> boolean. Defaults to true
  • app:floatingMenu -> Menu resource
  • app:floatingItemBackground -> Drawable resource
  • app:floatingCustomView -> Layout resource
  • app:floatingAutoHide -> boolean. Defaults to true

Apps using FloatingToolbar (Send a PR to add your app here)

License

Copyright 2016 Rúben Sousa

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].