gridview是一项显示二维的viewgroup,可滚动的网格。网格项时自动插入的布局使用listadapter。
1.创建一个新的项目:gridview.

2,打开 res/layout/main.xml文件,插入一下代码:

1. <?xml version="1.0" encoding="utf-8"?> 
2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
3.     android:orientation="vertical" 
4.     android:layout_width="fill_parent" 
5.     android:layout_height="fill_parent" 
6.     > 
7. <GridView 
8.          android:id="@+id/gridview" 
9.          android:layout_width="fill_parent" 
10.          android:layout_height="fill_parent" 
11.          android:columnWidth="90dp" 
12.          android:numColumns="auto_fit" 
13.          android:verticalSpacing="10dp" 
14.          android:horizontalSpacing="10dp" 
15.          android:stretchMode="columnWidth" 
16.          android:gravity="center" 
17.          />   
18. </LinearLayout>


做好以后就可以在屏幕上显示一个grid view

3.打开gridview.java首先要导入包:

1. package cn.gridview;  
2. import android.widget.GridView;  
3. import android.widget.Toast;  
4. import android.app.Activity;  
5. import android.os.Bundle;  
6. import android.widget.AdapterView.OnItemClickListener;  
7. import android.widget.AdapterView;  
8. import android.view.View;  
9. 在onCreate添加方法:  
10.  public void onCreate(Bundle savedInstanceState) {  
11.         super.onCreate(savedInstanceState);  
12.         setContentView(R.layout.main);  
13.         GridView gridview=(GridView)findViewById(R.id.gridview);//找到main.xml中定义gridview 的id  
14.         gridview.setAdapter(new ImageAdapter(this));//调用ImageAdapter.java  
15.         gridview.setOnItemClickListener(new OnItemClickListener(){//监听事件  
16.          public void onItemClick(AdapterView<?> parent, View view, int position, long id)   
17.          {  
18.           Toast.makeText(gridview.this, ""+position,Toast.LENGTH_SHORT).show();//显示信息;  
19.          }  
20.         });  
21.     }  
22. ImageAdapter.java  
23. package cn.gridview;  
24. import android.view.View;  
25. import android.view.ViewGroup;  
26. import android.widget.BaseAdapter;  
27. import android.content.Context;  
28. import android.widget.ImageView;  
29. import android.widget.GridView;  
30. public class ImageAdapter extends BaseAdapter {  
31.  private Context mContext;  
32.    
33.  public ImageAdapter(Context c)  
34.  {  
35.   mContext=c;  
36.  }  
37.  @Override  
38.  public int getCount() {  
39.   // TODO Auto-generated method stub  
40.   return mThumbIds.length;  
41.  }  
42. @Override  
43.  public Object getItem(int position) {  
44.   // TODO Auto-generated method stub  
45.   return null;  
46.  }  
47. @Override  
48.  public long getItemId(int position) {  
49.   // TODO Auto-generated method stub  
50.   return 0;  
51.  }  
52.  @Override  
53.  public View getView(int position, View convertView, ViewGroup parent) {  
54.   // TODO Auto-generated method stub  
55.     
56.   ImageView imageview;  
57.   if(convertView==null)  
58.   {  
59.    imageview=new ImageView(mContext);  
60.    imageview.setLayoutParams(new GridView.LayoutParams(85, 85));  
61.    imageview.setScaleType(ImageView.ScaleType.CENTER_CROP);  
62.    imageview.setPadding(8,8,8,8);  
63.  }  
64.   else  
65.   {  
66.    imageview=(ImageView) convertView;  
67.   }  
68.   imageview.setImageResource(mThumbIds[position]);  
69.   return imageview;  
70.   }  
71. private Integer[] mThumbIds={//显示的图片数组   
72.   R.drawable.sample_2,R.drawable.sample_3,  
73.   R.drawable.sample_4,R.drawable.sample_5,  
74.   R.drawable.sample_6,R.drawable.sample_7,  
75.   R.drawable.sample_0,R.drawable.sample_1,  
76.   R.drawable.sample_2,R.drawable.sample_3,  
77.   R.drawable.sample_4,R.drawable.sample_5,  
78.   R.drawable.sample_6,R.drawable.sample_7,  
79.   R.drawable.sample_0,R.drawable.sample_1,  
80.   R.drawable.sample_2,R.drawable.sample_3,  
81.   R.drawable.sample_4,R.drawable.sample_5,  
82.   R.drawable.sample_6,R.drawable.sample_7,  
83.  };  
84. }