Today I'm Discuss about the bottom navigation view in android with java.
Bottom Navigation Android Example using Fragments
so let's start the Xml Design Phase :-
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fragementConatiner">
<com.google.android.material.bottomnavigation.BottomNavigationView
android:layout_width="match_parent"
android:id="@+id/bottomnavigation"
android:layout_gravity="bottom"
android:layout_height="wrap_content"
app:menu="@menu/bottom"
android:background="@color/colorAccent"
/>
</FrameLayout>
</RelativeLayout>
bottom.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_home"
android:title="Home"
android:icon="@drawable/ic_home"/>
<item android:id="@+id/menu_dashboard"
android:title="Dashboard"
android:icon="@drawable/ic_baseline_dashboard_24"/>
<item android:id="@+id/notification"
android:title="Notification"
android:icon="@drawable/ic_notification"
/>
</menu>
load method:-
private boolean loadfragment(Fragment fragment)
{
if(fragment!=null)
{
getSupportFragmentManager().beginTransaction().replace(R.id.fragementConatiner,fragment).commit();
return true;
}
return false;
}
}
main_activity.java
package com.example.demodb;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import android.os.Bundle;
import android.view.MenuItem;
import com.google.android.material.bottomnavigation.BottomNavigationView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BottomNavigationView navigationView = (BottomNavigationView) findViewById(R.id.bottomnavigation);
navigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment frg = null;
switch (item.getItemId()) {
case R.id.menu_home:
frg = new HomeFragment();
break;
case R.id.menu_dashboard:
frg = new DashboardFragment();
break;
case R.id.notification:
frg=new NotificationFragment();
}
return loadfragment(frg);
}
});
loadfragment(new HomeFragment());
}
private boolean loadfragment(Fragment fragment)
{
if(fragment!=null)
{
getSupportFragmentManager().beginTransaction().replace(R.id.fragementConatiner,fragment).commit();
return true;
}
return false;
}
}
fragement xml code
HomeFragment.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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=".HomeFragment">
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Home Fragment"
android:layout_marginTop="70dp"
android:textSize="25dp"
android:textColorHint="#000"
android:textColor="#000"
android:textStyle="bold"
android:textAlignment="center"
/>
</FrameLayout>
NotificationFragment.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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=".NotificationFragment">
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Notification Fragment"
android:layout_marginTop="70dp"
android:textSize="25dp"
android:textColorHint="#000"
android:textColor="#000"
android:textStyle="bold"
android:textAlignment="center"
/>
</FrameLayout>
0 Comments
thanks for your suggestion and improving quality of the content