/android-floating-action-button

Floating Action Button for Android API 4+ based on Material Design specification

Primary LanguageJavaApache License 2.0Apache-2.0

FloatingActionButton

Yet another library for drawing Material Design promoted actions.

This library supports API 4+.

Features

  • Support for normal 56dp and mini 40dp buttons.

    Demo

  • Customizable background colors for normal and pressed states and icon drawable.

    Demo

  • Convenience AddFloatingActionButton class with plus icon drawn in code.

  • FloatingActionsMenu which can be expanded/collapsed to reveal multiple actions.

    Demo

  • Optional labels for buttons in FloatingActionsMenu.

    Demo

Usage

Just add the dependency to your build.gradle:

dependencies {
    compile 'net.i2p.android.ext:floatingactionbutton:1.10.1'
}

The library is available on Maven Central (mavenCentral() in your repositories list).

Alternatively, you can build it manually and install it in your local Maven repo:

git clone https://github.com/str4d/android-floating-action-button
cd android-floating-action-button
cd library
gradle installArchives

Then add mavenLocal() to the top of your repositories list (so it is checked first).

To see how the buttons are added to your xml layouts, check the sample project.

Caveats

The API is extremely limited at the moment. It solves few select use cases in the app I'm working on.

Unlike some other FloatingActionButton libraries this library doesn't implement "quick return" pattern, i.e. hiding the button on scrolling down and showing it on scrolling up. That's intentional, I think that should be responsibility of another component, not the button itself.

Credits

This library is a supported backwards-compatible version of the FloatingActionButton library by Jerzy Chalupski.

That library used FloatingActionButton library by Oleksandr Melnykov as a base for development.

License

Copyright (C) 2014 str4d
Copyright (C) 2014 Jerzy Chalupski

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.