Android Floating Action Button Tutorial With Example

Hello Readers! In this post, we are going to learn about how to use android floating action button widget in any android application. We will also go through different attributes of floating action button widget that can be used to customise it.

Output

Tutorialwing Android Floating Action Button Output FLoating action button in android tutorial

Tutorialwing Android Floating Action Button Output

Getting Started

Floating Action Button widget can be defined as below –

Floating Action Button is a circular button, floating above the UI, that triggers the primary action in android app’s UI and have special motion behaviors related to morphing, launching, and the transferring anchor point

Floating action button comes into two sizes – (1) Default and (2) mini. You can set size using fabSize attribute.

Attributes of Android Floating Action Button Widget

Some of the popular attributes of android Floating Action Button widget are –

Sr. XML Attributes Description
1 app:fabCustomSize Sets the size of the button in pixels. If set to NO_CUSTOM_SIZE, custom size will not be used and size will be calculated based on the fabSize attribute.
2 app:fabSize Sets the size of the button. There are 3 options available – normal, mini and auto. normal is larger than mini. auto will choose size based on the screen size.
3 app:elevation Sets elevation of the button.
4 app:rippleColor Sets ripple colour for button
5 app:useCompatPadding Sets inner padding of button on platform lollipop and after.



Example of Android Floating Action Button Widget

At first, we will create android application. Then, we will use Floating Action Button widget in this application.

1. Creating New Project

Follow steps below to create new project. Please ignore the steps if you have already created a new application.

Step Description
1. Open Android Studio.
2. Go to File => New => New Project. Write application name as FloatingActionButton. Then, click next button.
3. Select minimum SDK you need. However, we have selected 17 as minimum SDK. Then, click next button
4. Then, select Empty Activity => click next => click finish.
5. If you have followed above process correctly, you will get a newly created project successfully. However, you can also visit post to create a new project to know steps in detail.

Now, we will modify xml and java file to use floating action button widget in the application.

2. Modify Values folder

Open res/values/strings.xml file. Then, add below code into it.

<resources>
	<string name="app_name">FloatingActionButton</string>
	<string name="message">Click on Floating Action Button</string>
</resources>

open res/values/styles.xml file. Then, add below code into it.

<resources>

	<!-- Base application theme. -->
	<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
		<!-- Customize your theme here. -->
		<item name="colorPrimary">@color/colorPrimary</item>
		<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
		<item name="colorAccent">@color/colorAccent</item>
	</style>

	<style name="AppTheme.AppBarOverlay" parent="AppTheme">
	</style>

	<style name="AppTheme.PopupOverlay" parent="AppTheme">
	</style>

</resources>

3. Define main content xml file

Now, we will define main content file. Here, we will show main UI in the application. Create new xml file, content_main.xml, in res/layout/ folder. Then, add below code into it.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	xmlns:app="http://schemas.android.com/apk/res-auto"
	xmlns:tools="http://schemas.android.com/tools"
	android:layout_width="match_parent"
	android:layout_height="match_parent"
	app:layout_behavior="@string/appbar_scrolling_view_behavior"
	tools:showIn="@layout/activity_main">

	<TextView
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:layout_centerInParent="true"
		android:text="@string/message"/>

</RelativeLayout>

Note – This is optional step. You may not add this file into your application. This is purely based on your application.

4. Use Floating Action Button Widget in xml file

Open res/layout/activity_main.xml file. Then, add below code into it.

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	xmlns:app="http://schemas.android.com/apk/res-auto"
	android:layout_width="match_parent"
	android:layout_height="match_parent"
	android:fitsSystemWindows="true">

	<android.support.design.widget.AppBarLayout
		android:layout_width="match_parent"
		android:layout_height="wrap_content"
		android:theme="@style/AppTheme.AppBarOverlay">

		<android.support.v7.widget.Toolbar
			android:id="@+id/toolbar"
			android:layout_width="match_parent"
			android:layout_height="?android:attr/actionBarSize"
			android:background="@color/colorPrimary"
			app:popupTheme="@style/AppTheme.PopupOverlay"
			app:titleTextColor="@android:color/white"/>

	</android.support.design.widget.AppBarLayout>

	<include layout="@layout/content_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="16dp"
		android:src="@android:drawable/ic_dialog_email"/>

</android.support.design.widget.CoordinatorLayout>

Here, we have defined android floating action button. Now, we will access this floating action button in java file. Then, we will perform some action on it.

5. Access Floating Action Button in java file

Open src/main/java/com.tutorialwing.floatingactionbutton/MainActivity.java file. Then, add below code into it.

package com.tutorialwing.floatingactionbutton;

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		Toolbar toolbar = findViewById(R.id.toolbar);
		setSupportActionBar(toolbar);

		FloatingActionButton fab = findViewById(R.id.fab);
		fab.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View view) {
				// We are showing only toast message. However, you can do anything you need.
				Toast.makeText(getApplicationContext(), "You clicked Floating Action Button", Toast.LENGTH_SHORT).show();
			}
		});
	}
}

Here, we have access android floating action button in java file. Then, we have set click listener on it to show a toast message whenever it is clicked.

Since AndroidManifest.xml file is very important in any android application, we are also going to see the content inside this file.

AndroidManifest.xml

Code inside src/main/AndroidManifest.xml file is as below –

<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.tutorialwing.floatingactionbutton"
		  xmlns:android="http://schemas.android.com/apk/res/android">

	<application
		android:allowBackup="true"
		android:icon="@mipmap/ic_launcher"
		android:label="@string/app_name"
		android:roundIcon="@mipmap/ic_launcher_round"
		android:supportsRtl="true"
		android:theme="@style/AppTheme">
		<activity android:name=".MainActivity">
			<intent-filter>
				<action android:name="android.intent.action.MAIN"/>

				<category android:name="android.intent.category.LAUNCHER"/>
			</intent-filter>
		</activity>
	</application>

</manifest>

When we run the program, we will get output as shown above.

That’s end of tutorial on Android Floating Action Button widget.

Leave a Reply