Java – How do I add an image with text in Android’s menu options?

How do I add an image with text in Android’s menu options?… here is a solution to the problem.

How do I add an image with text in Android’s menu options?

I’m trying to implement custom menu options using text and images and it looks like this :

Menu Screenshot

Unfortunately, I don’t know how to implement it.

My menu.xml looks like:

<menu 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"
    tools:context="com.example.admin.ddcart.LIST">

<item android:id="@+id/action_settings1"
        android:title="@string/action_settings1"
        android:orderInCategory="100" 
        app:showAsAction="never" />

<item android:id="@+id/action_settings2"    
        android:title="@string/action_settings2"
        android:orderInCategory="100" 
        app:showAsAction="never" />

<item android:id="@+id/action_settings3" 
         android:title="@string/action_settings3"
         android:orderInCategory="100" 
         app:showAsAction="never" />

</menu>

Solution

Use if your image is in the mipmap directory

android:icon=@mipmap/your_image"

Use if your image is in the drawable directory

android:icon=@drawable/your_image"

For icons, prefer to add four drawables to each icon

  • drawable-hdpi image size 36*36
  • drawable-mdpi image size 24*24
  • drawable-xhdpi image size 48*48
  • drawable-xxhdpi image size 72*72
  • drawable-xxxdpi image size 96*96

You can also use vectors

Create a fine named delete.xml in the drawable directory

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:viewportHeight="24.0" android:viewportWidth="24.0" android:width="24dp" >
    <path android:fillColor="#FFFFFF" android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>
</vector>

And use android:icon=@drawable/your_image" in the project tag

Complete code

<item android:id="@+id/action_settings2"    
   android:title="@string/action_settings2"
   android:icon=@drawable/your_image"/>

To generate PNGs and vectors, use plugin

Easily adjust color, size, and more
Create a PNG or vector

=> generates PNGs for all sizes with a single click

enter image description here

Related Problems and Solutions