title: android gallery into grid style menu
body: <p>Hello everyone please help me out regarding menu in android . i want to make this gallery as grid menu for my application . please guide me how i can put the name under the  images and if iclick on the particular image new activity should open and at last clicking on the menu button bring me back to main screen </p>
  
  <p>here is the image
  <img src="https://i.stack.imgur.com/V4gZj.png" alt="enter image description here"></p>
  
  <p>Here is the code</p>
  
  <pre><code>import android.app.Activity;
  import android.content.Context;
  import android.os.Bundle;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.AdapterView;
  import android.widget.BaseAdapter;
  import android.widget.GridView;
  import android.widget.ImageView;
  import android.widget.Toast;
  import android.widget.AdapterView.OnItemClickListener;
  
  public class DisplayViewsExample extends Activity
  {    
      //---the images to display---
      Integer[] imageIDs = {
              R.drawable.pic1,
              R.drawable.pic2,
              R.drawable.pic3,
              R.drawable.pic4,
              R.drawable.pic5,
              R.drawable.pic6,
              R.drawable.pic7                    
      };
  
      @Override    
      public void onCreate(Bundle savedInstanceState) 
      {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.displayview);
  
          GridView gridView = (GridView) findViewById(R.id.gridview);
          gridView.setAdapter(new ImageAdapter(this));
  
          gridView.setOnItemClickListener(new OnItemClickListener() 
          {
              public void onItemClick(AdapterView parent, 
              View v, int position, long id) 
              {                
                  Toast.makeText(getBaseContext(), 
                          "pic" + (position + 1) + " selected", 
                          Toast.LENGTH_SHORT).show();
              }
          });        
      }
  
      public class ImageAdapter extends BaseAdapter 
      {
          private Context context;
  
          public ImageAdapter(Context c) 
          {
              context = c;
          }
  
          //---returns the number of images---
          public int getCount() {
              return imageIDs.length;
          }
  
          //---returns the ID of an item--- 
          public Object getItem(int position) {
              return position;
          }
  
          public long getItemId(int position) {
              return position;
          }
  
          //---returns an ImageView view---
          public View getView(int position, View convertView, ViewGroup parent) 
          {
              ImageView imageView;
              if (convertView == null) {
                  imageView = new ImageView(context);
                  imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
                  imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
                  imageView.setPadding(5, 5, 5, 5);
              } else {
                  imageView = (ImageView) convertView;
              }
              imageView.setImageResource(imageIDs[position]);
              return imageView;
          }
      }    
  }
  </code></pre>
  
  <p>here is the xml </p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;GridView xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/gridview"
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"
      android:numColumns="auto_fit"
      android:verticalSpacing="10dp"
      android:horizontalSpacing="10dp"
      android:columnWidth="90dp"
      android:stretchMode="columnWidth"
      android:gravity="center"
  /&gt;
  </code></pre>