1、首先准备 图片素材:a0-a11共12张图片
2、布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<GridView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/gridview"
android:padding="30dip"
android:columnWidth="52dip"
android:background="@drawable/top"
<!-- GridView四列显示-->
android:numColumns="4">
</GridView>
<ImageView
android:id="@+id/imgview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="95px"
android:layout_y="250px"
></ImageView>
</LinearLayout>
java文件:
public class TestGridView extends Activity implements
GridView.OnItemSelectedListener, GridView.OnItemClickListener {
private GridView gv;
private ImageView imgv;
private ImageAdapter imgVAdapter;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gv = (GridView) findViewById(R.id.gridview);
imgv = (ImageView) findViewById(R.id.imgview);
imgVAdapter = new ImageAdapter();
gv.setAdapter(imgVAdapter);
gv.setOnItemClickListener(this);
gv.setOnItemSelectedListener(this);
}
// ----------------------------------------
public class ImageAdapter extends BaseAdapter {
// Context myContext;
private ImageView theImageView;
private Integer[] imgID = { R.drawable.a0, R.drawable.a1,
R.drawable.a2, R.drawable.a3, R.drawable.a4, R.drawable.a5,
R.drawable.a6, R.drawable.a7, R.drawable.a8, R.drawable.a9,
R.drawable.a10, R.drawable.a11 };
// public ImageAdapter(Context context) {
// this.myContext = context;
// }
@Override
public int getCount() {
// TODO Auto-generated method stub
return imgID.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
// return position;
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public Integer getClickedImg(int index) {
return imgID[index];
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
theImageView = new ImageView(TestGridView.this);
theImageView.setImageResource(imgID[position]);
theImageView.setAdjustViewBounds(true);
theImageView
.setBackgroundResource(android.R.drawable.picture_frame);
return theImageView;
}
}
// ----------------------------------------
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
imgv.setImageResource(imgVAdapter.getClickedImg(position));
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
new AlertDialog.Builder(this).setTitle("图标浏览").setIcon(
imgVAdapter.getClickedImg(position)).setPositiveButton("确定",
new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
}).show();
}
}