1、佈局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<GridView
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="3" >
</GridView>
</RelativeLayout>
2、Activity
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory;
public class GridViewActivity extends Activity implements ViewFactory {
private GridView gridView;
private GridAdapter gridAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gridviewlayout);
gridView = (GridView) findViewById(R.id.gridview);
gridAdapter = new GridAdapter(this);
gridView.setAdapter(gridAdapter);
}
@Override
public View makeView() {
ImageView imageView = new ImageView(this);
return imageView;
}
}
3、Adapter
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
public class GridAdapter extends BaseAdapter {
private GridViewActivity gridViewAcivity;
public GridAdapter(GridViewActivity gridViewAcivity) {
this.gridViewAcivity = gridViewAcivity;
}
@Override
public int getCount() {
return ConstData.imageId.length;
}
@Override
public Object getItem(int i) {
return ConstData.imageId[i];
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewgroup) {
ImageView imageView = null;
if (null == view) {
imageView = new ImageView(gridViewAcivity);
imageView.setAdjustViewBounds(true);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) view;
}
imageView.setImageResource(ConstData.imageId[i]);
return imageView;
}
}