App Tutorial

SubMenu Android: Guida Completa con Esempi Java

Scopri come creare un SubMenu Android in Android Studio: guida passo passo con codice XML e Java per implementare menu secondari annidati all’interno di un Options Menu nelle tue app Android.

Cos’è un SubMenu Android?

I SubMenu sono menu secondari disponibili tramite un altro menu. Aprendo una voce del menu principale si aprono ulteriori possibilità di scelta. Utilizzando Options Menu o Context Menu, invece di compiere un’azione diretta, si va ad aprire un sotto-menù annidato.

Passo 1 – Definire il file options.xml con SubMenu

Crea il file options.xml nella cartella res/menu. Per creare un SubMenu, aggiungi un tag <menu> annidato all’interno di un <item>:

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

    <item
        android:id="@+id/GROUP_1"
        android:title="Accessibilita'">
        <menu>
            <item android:id="@+id/MENU_2" android:title="Data e Ora"/>
            <item android:id="@+id/MENU_3" android:title="Account"/>
            <item android:id="@+id/MENU_4" android:title="Informazioni"/>
        </menu>
    </item>

</menu>

Passo 2 – Configurare MainActivity.java

Nel file MainActivity.java gestiamo le voci del SubMenu esattamente come quelle di un menu normale, tramite onOptionsItemSelected():

package com.mycompany.myapp2;

import android.app.*;
import android.os.*;
import android.view.MenuItem;
import android.view.Menu;
import android.view.*;
import android.provider.*;
import android.content.*;

public class MainActivity extends Activity {

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.options, menu);
        return true;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int GROUP_1 = item.getItemId();
        switch (GROUP_1) {
            case R.id.MENU_2:
                startActivity(new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS));
                return true;
            case R.id.MENU_3:
                startActivity(new Intent(Settings.ACTION_ADD_ACCOUNT));
                return true;
            case R.id.MENU_4:
                startActivity(new Intent(Settings.ACTION_APPLICATION_SETTINGS));
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }
}

Conclusione

In questa guida abbiamo visto come creare un SubMenu Android in Android Studio. Cliccando su “Accessibilità” nel menu principale si apre un sotto-menù con tre elementi. I SubMenu sono ideali per organizzare in modo gerarchico le funzioni della tua app Android.