How to create BottomNavigationView with Fragment Android Example

How to create BottomNavigationView with Fragment Android Example - Hello friend inabnomaniiyaha, In the article that you read this time with the title How to create BottomNavigationView with Fragment Android Example, we have prepared this article well for you to read and take information in it. hopefully the contents of the post Artikel android-example,what we write you can understand. Alright, happy reading.

Judul : How to create BottomNavigationView with Fragment Android Example
link : How to create BottomNavigationView with Fragment Android Example

Baca juga


How to create BottomNavigationView with Fragment Android Example

Bottom navigation Android bars make it easy for users to explore and switch between top-level views in a single tap. They should be used when an application has three to five top-level destinations.

The bar can disappear on scroll, based on HideBottomViewOnScrollBehavior, when it is placed within a CoordinatorLayout and one of the children within the CoordinatorLayout is scrolled. This behavior is only set if the layout_behavior property is set to HideBottomViewOnScrollBehavior.

In this Example Android you will learn, how to add a bottom navigation to your activity and use it to switch between different fragments. We will fill our BottomNavigationView with 3 menu items and then check which item was selected with the OnNavigationItemSelectedListener interface and a switch statement. We will then create the appropriate fragment and display it in a FrameLayout with help of the getSupportFragmentManager, beginTransaction and replace methods.

Step 1. Create layout bottom_navigation.xml

<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item

        android:id="@+id/nav_home"

        android:icon="@drawable/ic_home_black_24dp"

        android:title="Home" />

    <item

        android:id="@+id/nav_favorites"

        android:icon="@drawable/ic_favorite_black_24dp"

        android:title="Favorites" />

    <item

        android:id="@+id/nav_search"

        android:icon="@drawable/ic_search_black_24dp"

        android:title="Search" />

</menu>

Step2. Create layout activity_main.xml

<?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"
    tools:context="com.codinginflow.bottomnavigationviewexample.MainActivity">
    <FrameLayout
        android:id="@+id/fragment_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/bottom_navigation"/>
    <android.support.design.widget.BottomNavigationView
        android:id="@+id/bottom_navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        app:menu="@menu/bottom_navigation"
        android:background="?android:attr/windowBackground"/>
</RelativeLayout>

Step 3. Create layout fragment_home.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/holo_red_light">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Home Fragment"
        android:textSize="30sp"
        android:layout_centerInParent="true"/>
</RelativeLayout>

Step 4. Create class HomeFragment.java

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class HomeFragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container
        @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_homecontainerfalse);
    }
}

Step 5. Create layout fragment_favoties.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/holo_blue_light">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Favorites Fragment"
        android:textSize="30sp"
        android:layout_centerInParent="true"/>

</RelativeLayout>

Step 6. Create class FavoritesFragment.java

public class FavoritesFragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater
        @Nullable ViewGroup container
        @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_favoritescontainerfalse);
    }
}

Step 7. Create layout fragment_search.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/holo_green_light">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Search Fragment"
        android:textSize="30sp"
        android:layout_centerInParent="true"/>

</RelativeLayout>

Step 8. Create class SearchFragment.java

public class SearchFragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater,
         @Nullable ViewGroup container
         @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_searchcontainerfalse);
    }
}

Step 9. Create class MainActivity.java

public class MainActivity extends AppCompatActivity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        BottomNavigationView bottomNav = findViewById(R.id.bottom_navigation);

        bottomNav.setOnNavigationItemSelectedListener(navListener);

        //I added this if statement to keep the selected fragment when rotating the device

        if (savedInstanceState == null) {

            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,

                    new HomeFragment()).commit();

        }

    }

    private BottomNavigationView.OnNavigationItemSelectedListener navListener =

            new BottomNavigationView.OnNavigationItemSelectedListener() {

                @Override

                public boolean onNavigationItemSelected(@NonNull MenuItem item) {

                    Fragment selectedFragment = null;

                    switch (item.getItemId()) {

                        case R.id.nav_home:

                            selectedFragment = new HomeFragment();

                            break;

                        case R.id.nav_favorites:

                            selectedFragment = new FavoritesFragment();

                            break;

                        case R.id.nav_search:

                            selectedFragment = new SearchFragment();

                            break;

                    }

                    getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,

                            selectedFragment).commit();

                    return true;

                }

            };

}



That's the articleHow to create BottomNavigationView with Fragment Android Example

That's it for the article How to create BottomNavigationView with Fragment Android Example this time, hopefully can be useful for all of you. well, see you in another article post.

You are now reading the articleHow to create BottomNavigationView with Fragment Android Example with link addresshttps://inabnonapudyawanabing.blogspot.com/2021/07/how-to-create-bottomnavigationview-with.html

0 Response to "How to create BottomNavigationView with Fragment Android Example"

Post a Comment

Tips Tricks for Android Phone

Tips & Tricks for Android Phone is a free android app and Collection of Tips and Tricks related to using your android mobile device lik...