Android Studio Examples

100+ tutorials, source code, and examples to help you develop creative and technical skills.

How to create custom Bottom Navigation Bar in Android Studio

res/colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="purple_200">#FFBB86FC</color>
    <color name="purple_500">#FF6200EE</color>
    <color name="purple_700">#FF3700B3</color>
    <color name="teal_200">#FF03DAC5</color>
    <color name="teal_700">#FF018786</color>
    <color name="black">#FF000000</color>
    <color name="white">#FFFFFFFF</color>

    <color name="primary_color">#131116</color>
    <color name="dashboard_1">#B69BFE</color>
    <color name="dashboard_2">#634ED8</color>
</resources>

layout/activity_main.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"
    android:background="@color/primary_color"
    tools:context=".MainActivity">

    <View
        android:layout_width="match_parent"
        android:layout_height="70dp"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="-2dp"
        android:layout_marginEnd="-2dp"
        android:layout_marginBottom="-2dp"
        android:background="@drawable/round_back_bottom" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="5dp"
        android:layout_toStartOf="@+id/dashboardBtn"
        android:gravity="bottom"
        android:orientation="horizontal">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:weightSum="2">

            <LinearLayout
                android:id="@+id/walletLayout"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center"
                android:orientation="vertical">

                <ImageView
                    android:id="@+id/walletIcon"
                    android:layout_width="wrap_content"
                    android:layout_height="25dp"
                    android:adjustViewBounds="true"
                    android:src="@drawable/wallet_selected_icon" />

                <TextView
                    android:id="@+id/walletTxt"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="8dp"
                    android:text="Wallet"
                    android:textColor="#FFFFFF"
                    android:textSize="12sp" />

            </LinearLayout>

            <LinearLayout
                android:id="@+id/homeLayout"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center"
                android:orientation="vertical">

                <ImageView
                    android:id="@+id/homeIcon"
                    android:layout_width="wrap_content"
                    android:layout_height="25dp"
                    android:adjustViewBounds="true"
                    android:src="@drawable/home_icon" />

                <TextView
                    android:id="@+id/homeTxt"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="8dp"
                    android:text="Home"
                    android:textColor="#80FFFFFF"
                    android:textSize="12sp" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>

    <ImageView
        android:id="@+id/dashboardBtn"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="30dp"
        android:background="@drawable/dashboard_gradient"
        android:elevation="10dp"
        android:outlineAmbientShadowColor="@color/dashboard_1"
        android:outlineSpotShadowColor="@color/dashboard_1"
        android:padding="18dp"
        android:src="@drawable/dashboard_selected_icon" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="5dp"
        android:layout_toEndOf="@+id/dashboardBtn"
        android:gravity="bottom"
        android:orientation="horizontal">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:weightSum="2">

            <LinearLayout
                android:id="@+id/chatLayout"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center"
                android:orientation="vertical">

                <ImageView
                    android:id="@+id/chatIcon"
                    android:layout_width="wrap_content"
                    android:layout_height="25dp"
                    android:adjustViewBounds="true"
                    android:src="@drawable/chat_icon" />

                <TextView
                    android:id="@+id/chatTxt"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="8dp"
                    android:text="Chat"
                    android:textColor="#80FFFFFF"
                    android:textSize="12sp" />

            </LinearLayout>

            <LinearLayout
                android:id="@+id/settingsLayout"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center"
                android:orientation="vertical">

                <ImageView
                    android:id="@+id/settingsIcon"
                    android:layout_width="wrap_content"
                    android:layout_height="25dp"
                    android:adjustViewBounds="true"
                    android:src="@drawable/settings_icon" />

                <TextView
                    android:id="@+id/settingsTxt"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="8dp"
                    android:text="Settings"
                    android:textColor="#80FFFFFF"
                    android:textSize="12sp" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>

</RelativeLayout>

java/MainActivity.java

package com.custombotombar;

import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private ImageView walletIcon, homeIcon, chatIcon, settingsIcon;
    private TextView walletTxt, homeTxt, chatTxt, settingsTxt;

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

        final LinearLayout walletLayout = findViewById(R.id.walletLayout);
        final LinearLayout homeLayout = findViewById(R.id.homeLayout);
        final LinearLayout chatLayout = findViewById(R.id.chatLayout);
        final LinearLayout settingsLayout = findViewById(R.id.settingsLayout);

        walletIcon = findViewById(R.id.walletIcon);
        homeIcon = findViewById(R.id.homeIcon);
        chatIcon = findViewById(R.id.chatIcon);
        settingsIcon = findViewById(R.id.settingsIcon);

        walletTxt = findViewById(R.id.walletTxt);
        homeTxt = findViewById(R.id.homeTxt);
        chatTxt = findViewById(R.id.chatTxt);
        settingsTxt = findViewById(R.id.settingsTxt);


        walletLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                // deselect all bottom items
                desSelectBottomItems();

                // select Item
                selectBottomItem(0, walletIcon, walletTxt);

            }
        });

        homeLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                // deselect all bottom items
                desSelectBottomItems();

                // select Item
                selectBottomItem(1, homeIcon, homeTxt);
            }
        });

        chatLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                // deselect all bottom items
                desSelectBottomItems();

                // select Item
                selectBottomItem(2, chatIcon, chatTxt);
            }
        });

        settingsLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                // deselect all bottom items
                desSelectBottomItems();

                // select Item
                selectBottomItem(3, settingsIcon, settingsTxt);
            }
        });
    }

    private void desSelectBottomItems() {

        walletIcon.setImageResource(R.drawable.wallet_icon);
        homeIcon.setImageResource(R.drawable.home_icon);
        chatIcon.setImageResource(R.drawable.chat_icon);
        settingsIcon.setImageResource(R.drawable.settings_icon);

        walletTxt.setTextColor(Color.parseColor("#80FFFFFF"));
        homeTxt.setTextColor(Color.parseColor("#80FFFFFF"));
        chatTxt.setTextColor(Color.parseColor("#80FFFFFF"));
        settingsTxt.setTextColor(Color.parseColor("#80FFFFFF"));

    }

    private void selectBottomItem(int position, ImageView selectedItemIcon, TextView selectedItemTxt) {

        int selectedResources;

        if (position == 0) {
            selectedResources = R.drawable.wallet_selected_icon;
        } else if (position == 1) {
            selectedResources = R.drawable.home_selected_icon;
        } else if (position == 2) {
            selectedResources = R.drawable.chat_selected_icon;
        } else {
            selectedResources = R.drawable.settings_selected_icon;
        }

        // set selectedResource to ImageView.
        selectedItemIcon.setImageResource(selectedResources);

        // highlight text of selected item
        selectedItemTxt.setTextColor(Color.WHITE);
    }
}

drawable/chat_icon.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="512dp"
    android:height="512dp"
    android:viewportWidth="512"
    android:viewportHeight="512">
    <path
        android:fillColor="#80FFFFFF"
        android:pathData="M115.8,22c-22.9,2.8 -45,13.4 -62,29.8 -17.7,17.1 -28.9,40.2 -31.8,65.2 -1.4,11.9 -1.3,180.3 0.1,192.7 2.8,25.4 15,50.1 33.1,66.9 12.3,11.3 30.1,21.2 45,24.9l6.7,1.7 0.3,36.8 0.3,36.8 3,4.4c6,8.4 17.9,11.7 26.4,7.3 1.9,-1 31.1,-20.1 64.8,-42.6l61.3,-40.9 66.1,-0c62.5,-0 66.6,-0.1 76.1,-2 45.6,-9.3 79.5,-46.6 84.7,-93.3 1.4,-12.4 1.5,-180.8 0.1,-192.7 -4,-34.6 -23.3,-64 -53.5,-81.7 -7.5,-4.4 -19.6,-9.2 -29.3,-11.6 -8.7,-2.1 -9.4,-2.1 -146.7,-2.3 -75.9,-0.1 -141,0.2 -144.7,0.6zM393.5,151.7c2.2,1.1 5,3.2 6.2,4.5 7.5,8 6.8,22.4 -1.3,30 -6.6,6.2 2.3,5.8 -142.4,5.8 -117.1,-0 -132.5,-0.2 -135.8,-1.6 -7.9,-3.3 -13.2,-11 -13.2,-19.4 0,-10.5 5.6,-17.9 16,-21.1 1.4,-0.4 61.9,-0.7 134.5,-0.6l132,0.2 4,2.2zM349.8,236.5c15.2,6.4 17.2,27.3 3.4,37l-4.4,3 -90.6,0.3c-62.6,0.2 -91.8,-0 -94.4,-0.8 -14.7,-4.2 -19.1,-25 -7.6,-35.7 5.8,-5.4 2,-5.2 99.6,-5.3 79.3,-0 90.7,0.2 94,1.5z" />
</vector>

drawable/chat_selected_icon.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="512dp"
    android:height="512dp"
    android:viewportWidth="512"
    android:viewportHeight="512">
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M115.8,22c-22.9,2.8 -45,13.4 -62,29.8 -17.7,17.1 -28.9,40.2 -31.8,65.2 -1.4,11.9 -1.3,180.3 0.1,192.7 2.8,25.4 15,50.1 33.1,66.9 12.3,11.3 30.1,21.2 45,24.9l6.7,1.7 0.3,36.8 0.3,36.8 3,4.4c6,8.4 17.9,11.7 26.4,7.3 1.9,-1 31.1,-20.1 64.8,-42.6l61.3,-40.9 66.1,-0c62.5,-0 66.6,-0.1 76.1,-2 45.6,-9.3 79.5,-46.6 84.7,-93.3 1.4,-12.4 1.5,-180.8 0.1,-192.7 -4,-34.6 -23.3,-64 -53.5,-81.7 -7.5,-4.4 -19.6,-9.2 -29.3,-11.6 -8.7,-2.1 -9.4,-2.1 -146.7,-2.3 -75.9,-0.1 -141,0.2 -144.7,0.6zM393.5,151.7c2.2,1.1 5,3.2 6.2,4.5 7.5,8 6.8,22.4 -1.3,30 -6.6,6.2 2.3,5.8 -142.4,5.8 -117.1,-0 -132.5,-0.2 -135.8,-1.6 -7.9,-3.3 -13.2,-11 -13.2,-19.4 0,-10.5 5.6,-17.9 16,-21.1 1.4,-0.4 61.9,-0.7 134.5,-0.6l132,0.2 4,2.2zM349.8,236.5c15.2,6.4 17.2,27.3 3.4,37l-4.4,3 -90.6,0.3c-62.6,0.2 -91.8,-0 -94.4,-0.8 -14.7,-4.2 -19.1,-25 -7.6,-35.7 5.8,-5.4 2,-5.2 99.6,-5.3 79.3,-0 90.7,0.2 94,1.5z" />
</vector>

drawable/dashboard_gradient.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <gradient
        android:endColor="@color/dashboard_2"
        android:startColor="@color/dashboard_1" />
    <corners android:radius="20dp" />
</shape>

drawable/dashboard_icon.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="512dp"
    android:height="512dp"
    android:viewportWidth="512"
    android:viewportHeight="512">
    <path
        android:fillColor="#80FFFFFF"
        android:pathData="M27.5,1.4c-11.1,3.5 -19,10.4 -23.9,20.6l-3.1,6.5 0,57 0,57 3.3,6.7c4,8.2 11.9,15.7 20,19l5.7,2.3 84,0.3c60.3,0.2 85.7,-0 90,-0.8 16,-3.1 27.4,-14.5 30.5,-30.5 0.8,-4.2 1,-21.6 0.8,-58 -0.3,-51.7 -0.3,-52 -2.6,-57.7 -3.3,-8.1 -10.8,-16 -19,-20l-6.7,-3.3 -87.5,-0.2c-68.8,-0.2 -88.4,0.1 -91.5,1.1z" />
    <path
        android:fillColor="#80FFFFFF"
        android:pathData="M304.9,1.4c-10.6,2.8 -20.9,12.1 -25.1,22.4l-2.3,5.7 -0.3,116c-0.2,83.8 0,117.7 0.8,122 3.1,16 14.5,27.4 30.5,30.5 4.3,0.8 29.7,1 90,0.8l84,-0.3 5.7,-2.3c8.1,-3.3 16,-10.8 20,-19l3.3,-6.7 0,-121 0,-121 -3.1,-6.5c-4,-8.4 -10,-14.4 -18.2,-18.3l-6.7,-3.2 -87,-0.2c-66.7,-0.1 -88.1,0.1 -91.6,1.1z" />
    <path
        android:fillColor="#80FFFFFF"
        android:pathData="M30,214.1c-11.2,2.2 -21.7,10.7 -26.8,21.7l-2.7,5.7 0,121 0,121 3.1,6.5c3.9,8.3 10.1,14.5 18.4,18.4l6.5,3.1 89,-0 89,-0 6.7,-3.3c8.2,-4 15.7,-11.9 19,-20l2.3,-5.7 0.3,-116c0.2,-83.8 0,-117.7 -0.8,-122 -3,-15.7 -14.2,-27.1 -29.8,-30.4 -6.4,-1.3 -167.2,-1.4 -174.2,-0z" />
    <path
        android:fillColor="#80FFFFFF"
        android:pathData="M306.5,342.4c-15,3.7 -25.5,14.8 -28.5,30.1 -0.8,4.2 -1,21.5 -0.8,58 0.3,51.7 0.3,52 2.6,57.7 3.3,8.1 10.8,16 19,20l6.7,3.3 89,-0 89,-0 6.7,-3.2c8.2,-3.9 14.2,-9.9 18.2,-18.3l3.1,-6.5 0,-57 0,-57 -3.3,-6.7c-4,-8.2 -11.9,-15.7 -20,-19l-5.7,-2.3 -85.5,-0.2c-64.9,-0.1 -86.7,0.1 -90.5,1.1z" />
</vector>

drawable/dashboard_selected_icon.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="512dp"
    android:height="512dp"
    android:viewportWidth="512"
    android:viewportHeight="512">
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M27.5,1.4c-11.1,3.5 -19,10.4 -23.9,20.6l-3.1,6.5 0,57 0,57 3.3,6.7c4,8.2 11.9,15.7 20,19l5.7,2.3 84,0.3c60.3,0.2 85.7,-0 90,-0.8 16,-3.1 27.4,-14.5 30.5,-30.5 0.8,-4.2 1,-21.6 0.8,-58 -0.3,-51.7 -0.3,-52 -2.6,-57.7 -3.3,-8.1 -10.8,-16 -19,-20l-6.7,-3.3 -87.5,-0.2c-68.8,-0.2 -88.4,0.1 -91.5,1.1z" />
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M304.9,1.4c-10.6,2.8 -20.9,12.1 -25.1,22.4l-2.3,5.7 -0.3,116c-0.2,83.8 0,117.7 0.8,122 3.1,16 14.5,27.4 30.5,30.5 4.3,0.8 29.7,1 90,0.8l84,-0.3 5.7,-2.3c8.1,-3.3 16,-10.8 20,-19l3.3,-6.7 0,-121 0,-121 -3.1,-6.5c-4,-8.4 -10,-14.4 -18.2,-18.3l-6.7,-3.2 -87,-0.2c-66.7,-0.1 -88.1,0.1 -91.6,1.1z" />
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M30,214.1c-11.2,2.2 -21.7,10.7 -26.8,21.7l-2.7,5.7 0,121 0,121 3.1,6.5c3.9,8.3 10.1,14.5 18.4,18.4l6.5,3.1 89,-0 89,-0 6.7,-3.3c8.2,-4 15.7,-11.9 19,-20l2.3,-5.7 0.3,-116c0.2,-83.8 0,-117.7 -0.8,-122 -3,-15.7 -14.2,-27.1 -29.8,-30.4 -6.4,-1.3 -167.2,-1.4 -174.2,-0z" />
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M306.5,342.4c-15,3.7 -25.5,14.8 -28.5,30.1 -0.8,4.2 -1,21.5 -0.8,58 0.3,51.7 0.3,52 2.6,57.7 3.3,8.1 10.8,16 19,20l6.7,3.3 89,-0 89,-0 6.7,-3.2c8.2,-3.9 14.2,-9.9 18.2,-18.3l3.1,-6.5 0,-57 0,-57 -3.3,-6.7c-4,-8.2 -11.9,-15.7 -20,-19l-5.7,-2.3 -85.5,-0.2c-64.9,-0.1 -86.7,0.1 -90.5,1.1z" />
</vector>

drawable/home_icon.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="512dp"
    android:height="512dp"
    android:viewportWidth="512"
    android:viewportHeight="512">
    <path
        android:fillColor="#8CFFFFFF"
        android:pathData="M244.3,1.5c-13,3.6 -9.4,0.3 -124.6,115.3 -59.8,59.8 -110.1,110.7 -111.7,113.1 -12.4,18.5 -9.9,43.3 5.9,59.2 9.2,9.1 20.9,13.9 34.3,13.9l6.8,-0 0,80c0,54.1 0.4,81.6 1.1,85.2 3.8,18.2 18.5,34.7 36.7,41 6.6,2.3 7.1,2.3 55.4,2.3 47.6,-0 48.7,-0 51.4,-2.1 1.5,-1.1 3.7,-3.3 4.8,-4.8 2.1,-2.7 2.1,-4 2.6,-69.5l0.5,-66.8 3,-4.9c3.8,-6.1 11.5,-11 18.9,-11.9 2.8,-0.4 16.8,-0.5 31.1,-0.3l26,0.3 5.3,2.9c5,2.8 8.2,6.1 11.3,11.6 1.1,2.1 1.5,14.4 1.9,69.2 0.5,65.4 0.5,66.7 2.6,69.4 1.1,1.5 3.3,3.7 4.8,4.8 2.7,2.1 3.8,2.1 51.4,2.1 48.3,-0 48.8,-0 55.4,-2.3 18.2,-6.3 32.9,-22.8 36.7,-41 0.7,-3.6 1.1,-31.1 1.1,-85.2l0,-80 6.8,-0c24,-0 43.4,-16.3 47.4,-39.8 1.5,-9.2 0,-19 -4.3,-28.2 -2.9,-6 -11.6,-15 -111.8,-115.3 -59.7,-59.8 -110.7,-110.1 -113.3,-111.8 -2.6,-1.7 -7.1,-4 -10,-5.1 -7,-2.7 -20.4,-3.3 -27.5,-1.3z" />
</vector>

drawable/home_selected_icon.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="512dp"
    android:height="512dp"
    android:viewportWidth="512"
    android:viewportHeight="512">
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M244.3,1.5c-13,3.6 -9.4,0.3 -124.6,115.3 -59.8,59.8 -110.1,110.7 -111.7,113.1 -12.4,18.5 -9.9,43.3 5.9,59.2 9.2,9.1 20.9,13.9 34.3,13.9l6.8,-0 0,80c0,54.1 0.4,81.6 1.1,85.2 3.8,18.2 18.5,34.7 36.7,41 6.6,2.3 7.1,2.3 55.4,2.3 47.6,-0 48.7,-0 51.4,-2.1 1.5,-1.1 3.7,-3.3 4.8,-4.8 2.1,-2.7 2.1,-4 2.6,-69.5l0.5,-66.8 3,-4.9c3.8,-6.1 11.5,-11 18.9,-11.9 2.8,-0.4 16.8,-0.5 31.1,-0.3l26,0.3 5.3,2.9c5,2.8 8.2,6.1 11.3,11.6 1.1,2.1 1.5,14.4 1.9,69.2 0.5,65.4 0.5,66.7 2.6,69.4 1.1,1.5 3.3,3.7 4.8,4.8 2.7,2.1 3.8,2.1 51.4,2.1 48.3,-0 48.8,-0 55.4,-2.3 18.2,-6.3 32.9,-22.8 36.7,-41 0.7,-3.6 1.1,-31.1 1.1,-85.2l0,-80 6.8,-0c24,-0 43.4,-16.3 47.4,-39.8 1.5,-9.2 0,-19 -4.3,-28.2 -2.9,-6 -11.6,-15 -111.8,-115.3 -59.7,-59.8 -110.7,-110.1 -113.3,-111.8 -2.6,-1.7 -7.1,-4 -10,-5.1 -7,-2.7 -20.4,-3.3 -27.5,-1.3z" />
</vector>

drawable/round_back_bottom.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <corners
        android:topLeftRadius="20dp"
        android:topRightRadius="20dp" />

    <stroke
        android:width="1dp"
        android:color="#4DFFFFFF" />
    <solid android:color="#232029" />
</shape>

drawable/settings_icon.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="512dp"
    android:height="512dp"
    android:viewportWidth="512"
    android:viewportHeight="512">
    <path
        android:fillColor="#80FFFFFF"
        android:pathData="M172,31.4c-21.4,7.5 -54.4,26.5 -66.5,38.3 -9.1,8.8 -11,20.3 -6,35.3 3.9,11.4 4.2,27.7 0.8,38.5 -7.4,23.2 -26.9,39.7 -51.3,43.4 -12.8,2 -21,7.3 -25.9,16.9 -4.5,8.8 -7.7,38 -6.7,61.2 1.2,28.6 3.9,38.6 12.4,46.1 5.1,4.5 9.4,6.1 21.7,8.4 13.7,2.5 22.2,7 32.5,17.4 13.2,13.4 18.4,26 18.3,44.6 0,9 -0.4,11.1 -3.9,21 -8.5,24.4 -4,33.3 27.6,54.3 10.7,7.1 31.9,18.1 43.8,22.7 12.2,4.7 19.3,4.8 28.1,0.4 3.9,-2 7.5,-4.7 9.9,-7.7 11.6,-14.3 19.5,-20.3 32.9,-24.8 24.7,-8.4 51.4,-0.4 68.5,20.4 9.6,11.6 21.5,15.8 34,11.8 9.8,-3.2 31.5,-14.5 45,-23.5 17.1,-11.4 25.8,-19.4 28.7,-26.1 3.7,-8.6 3.7,-13.2 0.1,-24 -4,-12 -5.1,-26.8 -2.6,-37.2 5.4,-23.1 23,-40.9 46.1,-46.4 16.5,-4 17.2,-4.3 22.9,-9.5 3.9,-3.6 6.1,-6.5 7.5,-10.4 7.6,-20.4 7.4,-79 -0.3,-96.1 -2.6,-5.6 -7.9,-11.5 -12.7,-14 -1.7,-0.8 -6.2,-2.2 -10,-3 -26.5,-5.5 -45.1,-22.6 -51.4,-47.4 -2.4,-9.1 -1.6,-26.2 1.5,-34.5 3.1,-8.4 3.2,-18.3 0.2,-25 -2.9,-6.2 -5.4,-9 -16.5,-17.6 -22,-17.1 -56.3,-34.5 -70.3,-35.6 -10.5,-0.9 -14.8,1.2 -27.9,13.6 -8.5,8.2 -13.1,11.6 -18.8,14.4 -17.8,8.8 -37.3,8.8 -55.4,-0 -6.1,-3 -10.1,-6 -18.9,-14.4 -8.5,-8.1 -12.2,-11 -15.9,-12.3 -6.7,-2.2 -13.8,-2 -21.5,0.8zM275,178.4c20.8,5.6 36.8,17 48,34.3 24,36.6 13.3,86.2 -23.7,110.3 -13.6,8.9 -25.9,12.5 -43.3,12.5 -22.6,-0 -40.8,-7.5 -56.4,-23.1 -15.6,-15.6 -23.1,-33.8 -23.1,-56.4 0,-17.4 3.6,-29.7 12.5,-43.3 12,-18.5 30.7,-31 52.5,-35.3 8.5,-1.6 25.7,-1.2 33.5,1z" />
</vector>

drawable/settings_selected_icon.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="512dp"
    android:height="512dp"
    android:viewportWidth="512"
    android:viewportHeight="512">
  <path
      android:pathData="M172,31.4c-21.4,7.5 -54.4,26.5 -66.5,38.3 -9.1,8.8 -11,20.3 -6,35.3 3.9,11.4 4.2,27.7 0.8,38.5 -7.4,23.2 -26.9,39.7 -51.3,43.4 -12.8,2 -21,7.3 -25.9,16.9 -4.5,8.8 -7.7,38 -6.7,61.2 1.2,28.6 3.9,38.6 12.4,46.1 5.1,4.5 9.4,6.1 21.7,8.4 13.7,2.5 22.2,7 32.5,17.4 13.2,13.4 18.4,26 18.3,44.6 0,9 -0.4,11.1 -3.9,21 -8.5,24.4 -4,33.3 27.6,54.3 10.7,7.1 31.9,18.1 43.8,22.7 12.2,4.7 19.3,4.8 28.1,0.4 3.9,-2 7.5,-4.7 9.9,-7.7 11.6,-14.3 19.5,-20.3 32.9,-24.8 24.7,-8.4 51.4,-0.4 68.5,20.4 9.6,11.6 21.5,15.8 34,11.8 9.8,-3.2 31.5,-14.5 45,-23.5 17.1,-11.4 25.8,-19.4 28.7,-26.1 3.7,-8.6 3.7,-13.2 0.1,-24 -4,-12 -5.1,-26.8 -2.6,-37.2 5.4,-23.1 23,-40.9 46.1,-46.4 16.5,-4 17.2,-4.3 22.9,-9.5 3.9,-3.6 6.1,-6.5 7.5,-10.4 7.6,-20.4 7.4,-79 -0.3,-96.1 -2.6,-5.6 -7.9,-11.5 -12.7,-14 -1.7,-0.8 -6.2,-2.2 -10,-3 -26.5,-5.5 -45.1,-22.6 -51.4,-47.4 -2.4,-9.1 -1.6,-26.2 1.5,-34.5 3.1,-8.4 3.2,-18.3 0.2,-25 -2.9,-6.2 -5.4,-9 -16.5,-17.6 -22,-17.1 -56.3,-34.5 -70.3,-35.6 -10.5,-0.9 -14.8,1.2 -27.9,13.6 -8.5,8.2 -13.1,11.6 -18.8,14.4 -17.8,8.8 -37.3,8.8 -55.4,-0 -6.1,-3 -10.1,-6 -18.9,-14.4 -8.5,-8.1 -12.2,-11 -15.9,-12.3 -6.7,-2.2 -13.8,-2 -21.5,0.8zM275,178.4c20.8,5.6 36.8,17 48,34.3 24,36.6 13.3,86.2 -23.7,110.3 -13.6,8.9 -25.9,12.5 -43.3,12.5 -22.6,-0 -40.8,-7.5 -56.4,-23.1 -15.6,-15.6 -23.1,-33.8 -23.1,-56.4 0,-17.4 3.6,-29.7 12.5,-43.3 12,-18.5 30.7,-31 52.5,-35.3 8.5,-1.6 25.7,-1.2 33.5,1z"
      android:fillColor="#FFFFFF"/>
</vector>

drawable/wallet_icon.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="512dp"
    android:height="512dp"
    android:viewportWidth="512"
    android:viewportHeight="512">
    <path
        android:fillColor="#80FFFFFF"
        android:pathData="M280,11.3c-4.2,1.3 -184.3,90 -186.4,91.9 -0.6,0.4 4.9,0.8 12.1,0.8l13.1,-0 101.4,-27.6c55.7,-15.2 101.7,-28 102.2,-28.4 0.4,-0.4 -1.9,-6.4 -5.3,-13.3 -6.6,-13.4 -10.7,-18.3 -18.5,-21.7 -5.7,-2.6 -13.2,-3.2 -18.6,-1.7z" />
    <path
        android:fillColor="#80FFFFFF"
        android:pathData="M285.5,76.4c-52.8,14.4 -96.7,26.5 -97.5,26.9 -0.8,0.3 51.9,0.6 117.2,0.6l118.6,0.1 -2.9,-10.8c-1.6,-5.9 -3.9,-14.2 -5,-18.4 -4.4,-16.3 -14.6,-24.9 -29.4,-24.7 -3.3,-0 -37.3,8.8 -101,26.3z" />
    <path
        android:fillColor="#80FFFFFF"
        android:pathData="M19.6,125.6c-3.5,1.1 -6.5,3.2 -10.7,7.3 -9.8,9.8 -9,-7 -8.7,182.1l0.3,165.5 2.3,4.5c3.3,6.3 8.6,11.5 14.6,14.2l5.1,2.3 219,-0c205.7,-0 219.2,-0.1 222.8,-1.7 6.7,-3 11.4,-7.6 14.6,-14l3.1,-6.1 0,-43.3 0,-43.3 -89.7,-0.3 -89.8,-0.3 -5.9,-2.3c-16.7,-6.3 -27.8,-18.4 -32,-34.8 -1.3,-5.1 -1.6,-12.6 -1.6,-42 0,-19.8 0.5,-38.6 1,-41.9 2.2,-13.5 12.5,-27.7 24.8,-34.3 11.8,-6.3 9.9,-6.2 106,-6.2l87.3,-0 -0.3,-43.8 -0.3,-43.7 -2.7,-4.5c-3.3,-5.6 -7,-9.2 -12.8,-12.2l-4.5,-2.3 -218.5,-0.2c-192.4,-0.1 -219.1,-0 -223.4,1.3z" />
    <path
        android:fillColor="#80FFFFFF"
        android:pathData="M304.5,252.4c-8.4,2.4 -14.4,7.4 -18.7,15.6 -2.3,4.5 -2.3,4.6 -2.3,43.5 0,38.9 0,39 2.4,44.2 2.7,6.1 8.4,11.6 15,14.7 4.6,2.1 4.7,2.1 96.6,2.1 91.9,-0 92,-0 96.6,-2.1 6.3,-2.9 12,-8.3 14.9,-14.1l2.5,-4.8 0.3,-37.3c0.4,-44.8 0.3,-45.3 -8.6,-54.1 -9.8,-9.7 -2.8,-9.1 -105.6,-9 -64.1,0.1 -90.2,0.4 -93.1,1.3zM365.1,296.3c5,3.3 6.9,7.9 6.9,16.5 0,13.4 -4.5,18.4 -16.9,19.1 -9,0.4 -13.8,-0.9 -17.6,-4.9 -2.8,-2.9 -3,-3.7 -3.3,-12.6 -0.5,-11.2 0.6,-14.5 5.7,-18 3.1,-2.1 4.7,-2.4 12.7,-2.4 7.8,-0 9.6,0.3 12.5,2.3z" />
</vector>

drawable/wallet_selected_icon.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="512dp"
    android:height="512dp"
    android:viewportWidth="512"
    android:viewportHeight="512">
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M280,11.3c-4.2,1.3 -184.3,90 -186.4,91.9 -0.6,0.4 4.9,0.8 12.1,0.8l13.1,-0 101.4,-27.6c55.7,-15.2 101.7,-28 102.2,-28.4 0.4,-0.4 -1.9,-6.4 -5.3,-13.3 -6.6,-13.4 -10.7,-18.3 -18.5,-21.7 -5.7,-2.6 -13.2,-3.2 -18.6,-1.7z" />
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M285.5,76.4c-52.8,14.4 -96.7,26.5 -97.5,26.9 -0.8,0.3 51.9,0.6 117.2,0.6l118.6,0.1 -2.9,-10.8c-1.6,-5.9 -3.9,-14.2 -5,-18.4 -4.4,-16.3 -14.6,-24.9 -29.4,-24.7 -3.3,-0 -37.3,8.8 -101,26.3z" />
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M19.6,125.6c-3.5,1.1 -6.5,3.2 -10.7,7.3 -9.8,9.8 -9,-7 -8.7,182.1l0.3,165.5 2.3,4.5c3.3,6.3 8.6,11.5 14.6,14.2l5.1,2.3 219,-0c205.7,-0 219.2,-0.1 222.8,-1.7 6.7,-3 11.4,-7.6 14.6,-14l3.1,-6.1 0,-43.3 0,-43.3 -89.7,-0.3 -89.8,-0.3 -5.9,-2.3c-16.7,-6.3 -27.8,-18.4 -32,-34.8 -1.3,-5.1 -1.6,-12.6 -1.6,-42 0,-19.8 0.5,-38.6 1,-41.9 2.2,-13.5 12.5,-27.7 24.8,-34.3 11.8,-6.3 9.9,-6.2 106,-6.2l87.3,-0 -0.3,-43.8 -0.3,-43.7 -2.7,-4.5c-3.3,-5.6 -7,-9.2 -12.8,-12.2l-4.5,-2.3 -218.5,-0.2c-192.4,-0.1 -219.1,-0 -223.4,1.3z" />
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M304.5,252.4c-8.4,2.4 -14.4,7.4 -18.7,15.6 -2.3,4.5 -2.3,4.6 -2.3,43.5 0,38.9 0,39 2.4,44.2 2.7,6.1 8.4,11.6 15,14.7 4.6,2.1 4.7,2.1 96.6,2.1 91.9,-0 92,-0 96.6,-2.1 6.3,-2.9 12,-8.3 14.9,-14.1l2.5,-4.8 0.3,-37.3c0.4,-44.8 0.3,-45.3 -8.6,-54.1 -9.8,-9.7 -2.8,-9.1 -105.6,-9 -64.1,0.1 -90.2,0.4 -93.1,1.3zM365.1,296.3c5,3.3 6.9,7.9 6.9,16.5 0,13.4 -4.5,18.4 -16.9,19.1 -9,0.4 -13.8,-0.9 -17.6,-4.9 -2.8,-2.9 -3,-3.7 -3.3,-12.6 -0.5,-11.2 0.6,-14.5 5.7,-18 3.1,-2.1 4.7,-2.4 12.7,-2.4 7.8,-0 9.6,0.3 12.5,2.3z" />
</vector>

Output

Projects with Source Code + Video Tutorials

You can download our Java and Android Studio Projects with Source Code and Video Tutorials.

Firebase-Push-Notifications-|-Background-Notification
Firebase Push Notifications | Background Notification
Online-Quiz-Application-using-Firebase-and-Admob
Online Quiz Application using Firebase and Admob
Online-Quiz-Application-using-Firebase-Realtime-Database-Source-Code
Online Quiz Application using Firebase Realtime Database Source Code

If you have any Questions or Queries
You can mail us at info.learnoset@gmail.com

Follow us to learn Coding and get in touch with new Technologies.