首先来看一下效果图:
这是使用真机调试的效果图,下面来看如何实现。
第一步:在activity_main.xml中写入GridView,如下:
第二步:在ActivityMain.java中写如下代码:
其中gridView是刚刚我们在xml中的空间,可通过gridView=(GridView) this.findViewById(R.id.gridview);获得。
MyAdapter adapter是自定义的适配器,待会儿会讲到如何定义MyAdapter 这个适配器。通过adapter=new MyAdapter(MainActivity.this,image);得到自定义适配器。
int[] image={R.drawable.image1,R.drawable.image2,R.drawable.image3,R.drawable.image4,
R.drawable.image5,R.drawable.image6,R.drawable.image7,R.drawable.image8,
R.drawable.image9,R.drawable.image10,R.drawable.image11,R.drawable.image12};是图片资源。这里使用一个整形数组存放。
通过gridView.setAdapter(adapter);
setContentView(gridView);两条语句设置适配器以及显示空间。
注:这里使用自定义的适配器与使用ArrayAdapter等适配器方法相似,重点在于适配器的定义。
第三步:定义适配器MyAdapter:
public class MyAdapter extends BaseAdapter,定义一个类继承BaseAdapter,并重写其方法,重载构造器
特别注意重载构造器时需要传入上下文内容context和资源数组image。
ImageView imageView=new ImageView(context);
int image_id=image[position];
imageView.setLayoutParams(new GridView.LayoutParams(300, 300));//设置imageView显示大小
imageView.setImageResource(image_id);//设置显示资源
return imageView;
如此可得到上述程序效果。