Floating Action Button using Fab Option Library in Android - GeeksforGeeks

19 Feb, 2021
Floating Action Button using Fab Options is another unique way of displaying various options. With the help of this, we can Navigate to different screens easily. This Floating Action button display various menu with Animation. So it increases user experience. In this article, we are going to learn how to implement Floating Action Button using Fab Option Library in Android. A sample GIF is given below to get an idea about what we are going to do in this article. Note that we are going to implement this project using the Java language. 
Floating Action Button using Fab Option provide a good User Experience.
Floating Action Button using Fab Option helps to give various menus in Animated form.
Floating Action Button using Fab Option makes it easy to navigate to different screens.
Attributes
Description
Step 1: Create a New Project
To create a new project in Android Studio please refer to How to Create/Start a New Project in Android Studio. Note that select Java as the programming language.
Step 2: Add dependency of Floating Action Button using Fab Option library in build.gradle file
Then Navigate to gradle scripts and then to build.gradle(Module) level. Add below line in build.gradle file in the dependencies section.
implementation ‘com.github.joaquimley:faboptions:1.2.0’
Now click on Sync now it will sync your all files in build.gradle().
Step 3: Create a new Floating Action Button using Fab Option in your activity_main.xml file
Navigate to the app > res > layout > activity_main.xml and add the below code to that file. Below is the code for the activity_main.xml file. 
XML
<?xml version="1.0" encoding="utf-8"?><RelativeLayout     xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity">      <!--Text View heading-->    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerHorizontal="true"        android:layout_marginTop="10dp"        android:text="Geeks for Geeks"        android:textColor="@color/purple_200"        android:textSize="20dp"        android:textStyle="bold" />      <!--Fab Options-->    <com.joaquimley.faboptions.FabOptions        android:id="@+id/fab_options"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentBottom="true"        android:layout_centerHorizontal="true"        android:layout_gravity="bottom" />      </RelativeLayout>
Step 4: Create a new menu file in your resource folder
Go to the app > res > right-click > New > Android Resource File and choose Resource type as “Menu” and enter the file name as “menu” and click on the OK button. Enter the below code into the menu.xml file.
XML
<?xml version="1.0" encoding="utf-8"?><menu     xmlns:android="http://schemas.android.com/apk/res/android">      <!--Menu items-->    <item        android:id="@+id/balance"        android:icon="@drawable/ic_baseline_account_balance_24"        android:title="Bank" />      <item        android:id="@+id/download"        android:icon="@drawable/ic_baseline_cloud_download_24"        android:title="Download" />      <item        android:id="@+id/photo"        android:icon="@drawable/ic_baseline_add_a_photo_24"        android:title="Add Photo" />      <item        android:id="@+id/account"        android:icon="@drawable/ic_baseline_account_circle_24"        android:title="Account" />      </menu>
Step 5: Working with the MainActivity.java file
Go to the MainActivity.java file and refer to the following code. Below is the code for the MainActivity.java file. Comments are added inside the code to understand the code in more detail.
Java
import android.os.Bundle;import android.view.View;import android.widget.Toast;  import androidx.appcompat.app.AppCompatActivity;  import com.joaquimley.faboptions.FabOptions;  public class MainActivity extends AppCompatActivity implements View.OnClickListener {      @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);          // Fab Options Code        FabOptions fabOptions = (FabOptions) findViewById(R.id.fab_options);        fabOptions.setButtonsMenu(this, R.menu.menu);        fabOptions.setOnClickListener(this);    }      @Override    public void onClick(View v) {        // Menu given along with toast        switch (v.getId()) {            case R.id.balance:                Toast.makeText(this, "Bank", Toast.LENGTH_SHORT).show();                break;            case R.id.download:                Toast.makeText(this, "Download", Toast.LENGTH_SHORT).show();                break;            case R.id.photo:                Toast.makeText(this, "Add Photo", Toast.LENGTH_SHORT).show();                break;            case R.id.account:                Toast.makeText(this, "Account", Toast.LENGTH_SHORT).show();                break;        }    }}
Now click on the run option it will take some time to build Gradle. After that, you will get output on your device as given below.
Android-Button
Technical Scripter 2020
Android
Java
Technical Scripter
Java
Android
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Flutter - Custom Bottom Navigation Bar
How to Read Data from SQLite Database in Android?
Retrofit with Kotlin Coroutine in Android
Android Listview in Java with Example
How to Change the Background Color After Clicking the Button in Android?
Arrays in Java
Split() String method in Java with examples
For-each loop in Java
Arrays.sort() in Java with examples
Reverse a string in Java