README.md

Floating Action Button Library for Android

Description

Floating action buttons are used for a special type of promoted action. They are distinguished by a circled icon floating above the UI and have special motion behaviors related to morphing, launching, and the transferring anchor point.

Requirements

The Library requires Android SDK version 9 (Gingerbread) and higher.

Gradle Dependency

dependencies {
compile 'com.scalified:fab:1.1.3'
}

Action Button has a dependency on an external ViewMover library, which in turn has a transitive dependency on the UI Tools library.
If any of these libraries are already used in the project they must be excluded as transitive dependencies

Color palette

Colors 500 are used for the NORMAL button state while 900 ones for the PRESSED state:

Green 500

Amber 500

Blue 500

Shadow

Shadow enabled by default and has standard settings according to Material Design Guidelines. These settings are suitable in most cases. However, shadow can be modified in three ways: radius, X- or Y-axis offset and color.

Default

Radius

X- and Y- axis offset

Stroke

Stroke is disabled by default.
Stroke can be modified in two ways: width and color.

Thin

Medium

Thick

Effects

Shadow Responsive Effect

Shadow Responsive Effect means that shadow is changed in response to the user input.
Shadow Responsive Effect enabled by default.

Ripple Effect

A touch Ripple Effect indicates where and when a touch occurs within the ActionButton and acknowledges that the touch input was received.
Ripple Effect disabled by default.

Shadow Responsive Effect

Ripple Effect

Moving

ActionButton can be moved in any direction. ViewMover Library is used for performing the ActionButton moving

Left-Right Move

Up-Down Move

Animations

The Library has several predefined animations:

Fade In - Fade Out

Roll From Down - Roll To Down

Jump From Down - Jump To Down

Scale In - Scale Out

Roll From Right - Roll To Right

Jump From Right - Jump To Right

Usage

Creation

Declaration inside XML resource

ActionButton button can be declared in the XML resource. For instance, using RelativeLayout:

// And then find it within the content view:ActionButton actionButton = (ActionButton) findViewById(R.id.action_button);

There are no required configuration parameters for it. All of the configuration parameters are optional.

Programmatically

Context context = getContext();
ActionButton actionButton =newActionButton(context);
// And then add it to the content view

Button actions

Showing and Hiding

Action Button can be shown, hidden or completely dismissed:

actionButton.show(); // shows the button if it is hidden and plays the show animation if set
actionButton.hide(); // hides the button if it is shown and plays the hide animation if set
actionButton.dismiss(); // completely dismisses the button and plays the hide animation if set

After dismissal the button is completely removed from its parent view, so any calls to show() etc. won't be processed.

Playing animations

There are some cases when you need to force playing the animation without calling the show(), hide() or dismiss() methods.
For instance, when your button appears within layout in the Activity for the first time.
In such cases animations can be played apart from showing, hiding, or dismissing the button: