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.