XML
<androidx.drawerlayout.widget.DrawerLayout 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"
android:id="@+id/drawerLayout"
tools:context=".MainActivity"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<LinearLayout
android:id="@+id/topLay"
android:layout_width="match_parent"
android:layout_height="80dp"
android:orientation="horizontal"
android:background="#FB9898"
>
<ImageView
android:id="@+id/menu"
android:layout_width="60dp"
android:layout_height="match_parent"
android:src="@drawable/line"
android:padding="10dp"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/app_name"
android:textSize="25sp"
android:gravity="center"
android:textColor="#D51313"
/>
</LinearLayout>
<FrameLayout
android:id="@+id/frameLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/topLay"
>
</FrameLayout>
</RelativeLayout>
<com.google.android.material.navigation.NavigationView
android:id="@+id/navigationView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
app:menu="@menu/drawer_menu"
android:layout_gravity="start"
app:headerLayout="@layout/header_layout"
app:itemTextColor="@color/text_iconcolor"
app:itemIconTint="@color/icon_color"
android:background="#FFFFFF"
android:layout_marginTop="55dp"
/>
</androidx.drawerlayout.widget.DrawerLayout>
hader_layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:layout_width="match_parent"
android:layout_height="200dp"
android:text="Header"
android:textSize="30sp"
android:gravity="center"
android:background="#2196F3"
/>
</LinearLayout>drawer_menu<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group
android:id="@+id/groop1"
>
<item
android:id="@+id/home"
android:title="Home"
android:icon="@drawable/home"
android:checkable="true"
/>
</group>
<group
android:id="@+id/groop2"
>
<item
android:id="@+id/favourite"
android:title="English Favourite"
android:icon="@drawable/home"
android:checkable="true"
/>
</group>
<group
android:id="@+id/groop4"
>
<item android:id="@+id/noteBook"
android:title="Note Book"
android:icon="@drawable/home"
android:checkable="true"
/>
</group>
<group
android:id="@+id/groop5"
>
<item android:id="@+id/rate_app"
android:title="Rate this app"
android:icon="@drawable/home"
/>
</group>
<group
android:id="@+id/groop6"
>
<item android:id="@+id/share_app"
android:title="Share this app"
android:icon="@drawable/home"
/>
</group>
</menu>res>new>android resource directorycolortext_iconcolor<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#DD8686" android:state_checked="true" />
<item android:color="@color/black" android:state_checked="false"/>
</selector>coloricon_color<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#DD8686" android:state_checked="true" />
<item android:color="@color/black" android:state_checked="false"/>
</selector>Javapackage com.rakibshah.fgmt;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.GravityCompat;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import com.Fragment.Favourite;
import com.Fragment.FirstFragment;
import com.Fragment.Home;
import com.google.android.material.navigation.NavigationView;
public class MainActivity extends AppCompatActivity {
DrawerLayout drawerLayout;
NavigationView navigationView;
ImageView menu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
drawerLayout = findViewById(R.id.drawerLayout);
navigationView = findViewById(R.id.navigationView);
menu = findViewById(R.id.menu);
menu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
drawerLayout.openDrawer(GravityCompat.START);
}
});
navigationView.getMenu().getItem(0).setChecked(true);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
if (item.getItemId()==R.id.home){
Toast.makeText(MainActivity.this, "This is Home", Toast.LENGTH_SHORT).show();
FragmentManager fManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fManager.beginTransaction();
fragmentTransaction.add(R.id.frameLayout , new Home());
fragmentTransaction.commit();
drawerLayout.closeDrawer(GravityCompat.START);
} else if (item.getItemId()==R.id.favourite) {
Toast.makeText(MainActivity.this, "This is Fovourite", Toast.LENGTH_SHORT).show();
FragmentManager fManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fManager.beginTransaction();
fragmentTransaction.add(R.id.frameLayout , new Favourite());
fragmentTransaction.commit();
drawerLayout.closeDrawer(GravityCompat.START);
} else if (item.getItemId()==R.id.noteBook) {
Toast.makeText(MainActivity.this, "Tjis Notebook", Toast.LENGTH_SHORT).show();
FragmentManager fManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fManager.beginTransaction();
fragmentTransaction.add(R.id.frameLayout , new FirstFragment());
fragmentTransaction.commit();
drawerLayout.closeDrawer(GravityCompat.START);
}
return true;
}
});
}
}
.png)