Floating Action Buttons (FABs) are essential elements in modern Android app design. They serve as a prominent action button that floats above the UI. This blog post will guide you on how to implement a Custom Floating Action Button that is not only easy to use but also customizable to fit your app’s aesthetic.
What is the Custom Floating Action Button?
The Custom Floating Action Button replaces the standard FAB from Google’s Support Library. It allows you to go beyond the limitations of the default button by offering usability and customization options such as adding text, changing shapes, and styling.
This library, however, is no longer supported, so users are encouraged to consider alternatives.

Setup Instructions
To get started, you should add the following dependencies to your project.
Project-Level Gradle File
repositories {
mavenCentral()
}
Module-Level Gradle File
Depending on your project setup (Groovy or Kotlin), add the following line:
Gradle (Groovy)
implementation 'com.robertlevonyan.view:CustomFloatingActionButton:LATEST_VERSION'
Kotlin
implementation(com.robertlevonyan.view:CustomFloatingActionButton:$LATEST_VERSION)
Maven
<dependency>
<groupId>com.robertlevonyan.view</groupId>
<artifactId>CustomFloatingActionButton</artifactId>
<version>LATEST_VERSION</version>
<type>pom</type>
</dependency>
Usage Instructions
To use the Custom Floating Action Button, define it in your XML layout as follows:
<com.robertlevonyan.views.customfloatingactionbutton.FloatingActionButton
android:id="@+id/custom_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
/>
More Layout Options
The Custom Floating Action Button comes with various layout configurations:- Circle Layout
- Rounded Square Layout
- Square Layout
Attributes for Customization
You have various attributes you can customize:- app:fabType: Set to circle (default), square, or roundedSquare
- app:fabSizes: Choose between normal (default) and mini
- app:fabElevation: Adjust the elevation for a shadow effect
- app:fabColor: Change the button color
- app:fabIcon: Use custom icons
How to Customize Programmatically
Now, let’s put on our coding hats! Once you instantiate the FloatingActionButton, you can customize it through code. Here’s an analogy to help you understand this section better: think of a Floating Action Button as a blank canvas that you can paint in a way that represents your app’s personality.// Set button type
floatingActionButton.fabType = FabType.FAB_TYPE_CIRCLE;
// Set button size
floatingActionButton.fabSize = FabSize.FAB_SIZE_MINI;
// Set button properties
floatingActionButton.fabColor = myFabColor;
floatingActionButton.fabIcon = myFabIconDrawable;
Setting Up Listeners
You can also set listeners for menu expansion. Here’s how you can do that:floatingLayout.setOnMenuExpandedListener(new
FloatingLayout.OnMenuExpandedListener() {
@Override
public void onMenuExpanded() {
// Code when expanded
}
@Override
public void onMenuCollapsed() {
// Code when collapsed
}
}
);
Troubleshooting
If you run into issues while implementing this custom FAB, consider the following troubleshooting ideas:- Ensure you have the correct dependency version in your Gradle files.
- Check if your XML layout property values are correctly set.
- Verify your API level is compatible with the library’s requirements.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.