下面直接通过一个例子讲解GridView的用法。

mian.xml文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    >    <!--定义一个4列的GridView控件  -->    <GridView        android:id="@+id/gridView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_weight="1"        android:numColumns="4" >    </GridView>    <!-- 定义一个ImageView -->    <ImageView        android:id="@+id/main_im"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center"        android:src="@drawable/bomb1"        android:layout_weight="1.5" /></LinearLayout>


在定义一个cell.xml文件,里面只有一个ImageView。

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <ImageView        android:id="@+id/imageView1"        android:layout_width="50dip"        android:layout_height="50dip"        /></LinearLayout>


MainActivity.java

public class MainActivity extends Activity {    /**     * @author shao     *使用SimpleAdapter为GridView控件添加内容     */    private GridView gd;    private ImageView imageView;    private SimpleAdapter simpleAdapter;    private int[] imageId = { R.drawable.bomb1, R.drawable.bomb2,            R.drawable.bomb3, R.drawable.bomb4, R.drawable.bomb5,            R.drawable.bomb6, R.drawable.bomb7, R.drawable.bomb8,            R.drawable.bomb9, R.drawable.bomb10, R.drawable.bomb11,            R.drawable.bomb12};    private List<Map<String, Object>> list;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //查找控件        gd = (GridView) findViewById(R.id.gridView1);        imageView = (ImageView) findViewById(R.id.main_im);            //为list添加内容        list = new ArrayList<Map<String, Object>>();        for (int i = 0; i < imageId.length; i++) {            Map<String, Object> map = new HashMap<String, Object>();            map.put("image", imageId[i]);            list.add(map);        }        simpleAdapter = new SimpleAdapter(this, list, R.layout.cell,                new String[] { "image" }, new int[] { R.id.imageView1 });        //为GridView控件添加Adapter        gd.setAdapter(simpleAdapter);        //为GridView控件添加监听        gd.setOnItemClickListener(new OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> parent, View view,                    int position, long id) {                imageView.setImageResource(imageId[position]);            }        });    }}



运行效果,当点击不同过得图片时,屏幕的下方将显示相应的图片。如下图:


完整例子代码见附件

更多相关文章

  1. Android(安卓)Activity界面切换添加动画特效
  2. 三、安卓UI学习(1)
  3. android用户界面之按钮(Button)教程实例汇
  4. "Failed to fetch URL https://dl-ssl.google.com/android/repos
  5. 在Fragment中设置控件点击方法,执行失败。
  6. Android(安卓)流式布局FlowLayout(搜索历史),多布局、删除、添加
  7. TabHost与RadioGroup结合完成的菜单【带效果图】5个Activity
  8. Android开发——Android搜索框架(二)
  9. Android常用控件

随机推荐

  1. Android:Android(安卓)V7 Support Library
  2. Android(安卓)oncreate中获取控件宽高
  3. GridView, ListView 区别
  4. android流量统计
  5. android dom4j sax 兼容问题
  6. 最常用的GitHub—— Android(安卓)开源项
  7. Android跨进程通信
  8. Android关于常用正则号码类Util
  9. android带图片的AlertDialog和文件管理器
  10. Android利用tcpdump抓包