In android application menu is one of the important user interface entity which provides some action options for a particular view. In this tutorial i am discussing about creating android menus.
In this tutorial we are creating a simple menu with 6 menu items. On clicking on single menu item a simple Toast message will be shown.
1. Create a new project File ⇒ New ⇒ Android Project and give activity name as AndroidMenusActivity.
2. Now create an XML file under res/layout folder and name it as menu.xml.
3. Open menu.xml file and type following code. In the following code we are creating a single menu with 6 menu items. Each menu item has an icon and title for display the label under menu icon. Also we have id for each menu item to identify uniquely.
<? xml version = "1.0" encoding = "utf-8" ?> < menu xmlns:android = "http://schemas.android.com/apk/res/android" > <!-- Single menu item Set id, icon and Title for each menu item --> < item android:id = "@+id/menu_bookmark" android:icon = "@drawable/icon_bookmark" android:title = "Bookmark" /> < item android:id = "@+id/menu_save" android:icon = "@drawable/icon_save" android:title = "Save" /> < item android:id = "@+id/menu_search" android:icon = "@drawable/icon_search" android:title = "Search" /> < item android:id = "@+id/menu_share" android:icon = "@drawable/icon_share" android:title = "Share" /> < item android:id = "@+id/menu_delete" android:icon = "@drawable/icon_delete" android:title = "Delete" /> < item android:id = "@+id/menu_preferences" android:icon = "@drawable/icon_preferences" android:title = "Preferences" /> </ menu > |
4. Now open your main Activity class file (AndroidMenusActivity.java) and type following code. In the following code each menu item is identified by its ID in switch case statement.
package com.androidhive.androidmenus; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.widget.Toast; public class AndroidMenusActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.main); } // Initiating Menu XML file (menu.xml) @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater menuInflater = getMenuInflater(); menuInflater.inflate(R.layout.menu, menu); return true ; } /** * Event Handling for Individual menu item selected * Identify single menu item by it's id * */ @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_bookmark: // Single menu item is selected do something // Ex: launching new activity/screen or show alert message Toast.makeText(AndroidMenusActivity. this , "Bookmark is Selected" , Toast.LENGTH_SHORT).show(); return true ; case R.id.menu_save: Toast.makeText(AndroidMenusActivity. this , "Save is Selected" , Toast.LENGTH_SHORT).show(); return true ; case R.id.menu_search: Toast.makeText(AndroidMenusActivity. this , "Search is Selected" , Toast.LENGTH_SHORT).show(); return true ; case R.id.menu_share: Toast.makeText(AndroidMenusActivity. this , "Share is Selected" , Toast.LENGTH_SHORT).show(); return true ; case R.id.menu_delete: Toast.makeText(AndroidMenusActivity. this , "Delete is Selected" , Toast.LENGTH_SHORT).show(); return true ; case R.id.menu_preferences: Toast.makeText(AndroidMenusActivity. this , "Preferences is Selected" , Toast.LENGTH_SHORT).show(); return true ; default : return super .onOptionsItemSelected(item); } } } |
5. Finally run your project by right clicking on your project folder ⇒ Run As ⇒ 1 Android Application to test your application. On Android Emulator click on Menu Button to launch menu.
The final output of menu tutorial will be like below image
