Mega Code Archive

 
Categories / Android / UI
 

Using GridView to display images

package app.test; import android.app.Activity; import android.os.Bundle; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.ImageView; import android.widget.Toast; public class Test extends Activity {     Integer[] imageIDs = {             R.drawable.icon,             R.drawable.icon,             R.drawable.icon,             R.drawable.icon,             R.drawable.icon,             R.drawable.icon,             R.drawable.icon     };     @Override     public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.main);                  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(185, 185));                 imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);                 imageView.setPadding(5, 5, 5, 5);             } else {                 imageView = (ImageView) convertView;             }             imageView.setImageResource(imageIDs[position]);             return imageView;         }     }     } //main.xml <?xml version="1.0" encoding="utf-8"?> <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" />