Native Mobile App Development With Java

Android Custom 3 dot menu example java

24-Sep-2024

Android Custom 3 dot menu example java

Step 1:

File open res/layout/activity_main.xml file −


<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
tools:ignore="MissingConstraints" />

</androidx.constraintlayout.widget.ConstraintLayout>


Step 2:

Create menu xml app/res>new>Android Resource Directory>Resource type:menu / menu_item.xml file −


<?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">

<item
android:icon="@drawable/more_icon"
android:title=""
app:showAsAction="always">

<menu>
<item
android:id="@+id/home_menu"
android:icon="@drawable/home_icon"
android:iconTint="#D00707"
android:title="Home"
app:showAsAction="never" />
<item
android:id="@+id/movie_menu"
android:icon="@drawable/movie_icon"
android:iconTint="#D00707"
android:title="Movie"
app:showAsAction="never" />
<item
android:id="@+id/Series_menu"
android:icon="@drawable/dubbed_icon"
android:iconTint="#D00707"
android:title="Seies"
app:showAsAction="never" />
<item
android:id="@+id/natok_menu"
android:icon="@drawable/natok_icon"
android:iconTint="#D00707"
android:title="Natok"
app:showAsAction="never" />
<item
android:id="@+id/dubbed_menu"
android:icon="@drawable/dubbed_icon"
android:iconTint="#D00707"
android:title="Dubbed"
app:showAsAction="never" />
</menu>
</item>
</menu>


Step 2:

File open com.microappvalley.newtestproject/MainActivity.java file −


package com.example.a3dotmenu;
import android.annotation.SuppressLint;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

public class MainActivity extends AppCompatActivity {

Toolbar toolbar;

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

toolbar = findViewById(R.id.toolbar);

//set title
toolbar.setTitle("Practice Toolbar");

//change colors
toolbar.setBackgroundColor(Color.RED);
toolbar.setTitleTextColor(Color.WHITE);
setSupportActionBar(toolbar);
}

//inflate menu_item xml
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_item, menu);
return true;
}

//click item to open toast
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
if (id == R.id.home_menu) {
Toast.makeText(MainActivity.this, "Home", Toast.LENGTH_SHORT).show();
}
if (id == R.id.movie_menu) {
Toast.makeText(MainActivity.this, "Movie", Toast.LENGTH_SHORT).show();
}
if (id == R.id.Series_menu) {
Toast.makeText(MainActivity.this, "Series", Toast.LENGTH_SHORT).show();
}
if (id == R.id.natok_menu) {
Toast.makeText(MainActivity.this, "Natok", Toast.LENGTH_SHORT).show();
}
if (id == R.id.dubbed_menu) {
Toast.makeText(MainActivity.this, "Dubbing", Toast.LENGTH_SHORT).show();
}
return true;
}
}

Open Device Manager, run the emulator, and  then run the application. Next, check the working output and check the output  you declared in your code.


Output:



Comments