GridView是按照行列的形式来显示内容,一般用于图片、图标的显示。GridView也可切像介绍ListView一样,以列表的形示来显示内容。首先来看一下GridView的属性,如表5.4所示。

           表5.4 GridView属性

属性名称属性说明                           
android:columnWidthGridView中每一列的宽度
android:gravity控件上面信息的位置
android:numColumns设置GridView的列数
androidrhorizontalSpacing设置水平之间的间距
androidiverticalSpacing设置垂直之间的间距

  如果要显示内容,同样要为GridView设置一个适配器(Adapter)。在这里我们也是写一个类继承BaseAdapter类,重写其中的方法,主要是重写getView()方法设置图片的格式,下面通过一个简单的实例来说明它的用法,运行效果如图5.1所示。

  以每行4个图片排列,这可以通过android:numColumns属性或代码进行设置。所显示的内容是通过一个适配器来提供的。然后通过GridView的setAdapter方法设置适配器,下面来看看适配器的实现图片数组

Pr^vate int [ ] images ={R.drawable.sample_thumb_0, R.drawable.sample_thumb_l,

R.drawable.sample_thumb_2, R.drawable.sample_thumb_3, R.drawable.sample_thumb_4,

R.drawa•sample_thumb_5, R.drawable.sample_thumb_6,R.drawable.sample^thumb_7,

R.drawable.samplehumb_l,R.drawable.samp1e_thuinb_5, R.drawable.sample_thumb_4,

R• drawable. samplesthumb_4, R.drawable . sample,.thumb„4};

private Context context;

public MyAdapter(Context context) {

this ・context = context;

}

public int getCount() {

return images.length;

}

public Object getltem(int position) {

return position;

public long getltemld(int position) {

re七urn position;

pubLie View getview(int position, View convertView, ViewGroup parent) {

Imageview imageview;//图片控件

if(convertView ~ null){

〃实例化Imageview对僉

imageView = new ImageView(contsxt);

//祓覽ImageView对象的布局

im^eView. ^tLayoutParams (new GridView. LayoutParams (45r 45));

imageView. setAdjustViewBounds (true);

imageView. setScaleType (ImageView. ScaleType. CENTER_CROP);

〃设置间距 ~

imageView.setpadding(8, 8, 8, 8);

}else{

imageView = (ImageView) convertView;

}

//这是ImageView设置图片资源

imageView. setlmageResource (images [posi七ion]);

return imageView;

}

关于GridView的布局文件如下: •

<?xml version=”l. 0″ encoding=’*utf-8″?>

<LinearLayout xralns:android=”http://schemas.android.com/apk/res/android*1

android:layout_width=”fill_parent”

android:layout_height=”fill„parent”

android:background=

android:orientation=”vertical” >

<TextView

android: layout_width=”f il3._pa.rent”

android: layout„height=’,wrap_content”

android:textSize-“18dipH

android: tex 七。0丄0]?=”#000000”

android: text=,’GridView 实例”/>

<GridView

android:id=n@+id/gridView”

android:layout_width=”f

android: layout_height=:=”wrap_content”

android:horizonta1SpacingsM5dipn

android:vertlealSpacing=”5dip”

android: numColumns=,’ 4

></GridView>

</Linea匚La・out> — —

  通过实例可以看出,GridView控件显示数据主要在于Adapter,我们也可以为GridView添加事件,这个就留给读者去实现。