Showing posts with label option menu in android. Show all posts
Showing posts with label option menu in android. Show all posts

Friday, March 23, 2012

Menu option

Option menu



  1. To implement Option menu we have to add new folder in res/directory name menu.xml.
          In the new directory we have to make  menu .xml

     2.  Copy the code into the new menu.xml file

               <?xml version="1.0" encoding="utf-8"?>

                <menu xmlns:android="http://schemas.android.com/apk/res/android">
   
                 <item android:id="@+id/icon"
                          android:icon="@drawable/icon" />
  
                  <item android:id="@+id/text"
                          android:title="Text" />
  
                  <item android:id="@+id/icontext"
                          android:title="Icon and text"
                          android:icon="@drawable/icon" />


                         </menu>


     3.   Then change the main activity as follows:
        
                          public class SimpleOptionMenuActivity extends Activity {
                            /** Called when the activity is first created. */
                           @Override
            public boolean onCreateOptionsMenu(Menu menu)  //here specify the xml file defined by menu.xml

                    {
                          MenuInflater inflater = getMenuInflater();
                          inflater.inflate(R.menu.menu, menu);
                          return true;
                    }


On line 2 you see the parameter menu. In this menu we will inflate our own menu defined by our menu.xml.
On line 3 we get the MenuInflater from the Activity class. We need this MenuInflater object to inflate, or merge, our own menu in the menu given as a parameter on line 2.
Line 4 inflate the given menu with our own menu. Line 5 is just our return type.

    4.  To implement a reaction of our menu, we should override another method  onOptionItemSelected().                                         
        
@Override
         public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.icon:     Toast.makeText(this, "You pressed the icon!", Toast.LENGTH_LONG).show();
                                break;
            case R.id.text:     Toast.makeText(this, "You pressed the text!", Toast.LENGTH_LONG).show();
                                break;
            case R.id.icontext: Toast.makeText(this,"You pressed the icon and text!", Toast.LENGTH_LONG).show();
                                break;
        }
        return true;
    }