<!--
android:columnWidt
设置列的宽度。
android:gravity
设置此组件中的内容在组件中的位置。可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical可以多选,用“|”分开。
android:horizontalSpacing
两列之间的间距。
android:numColumns
设置列数。
android:stretchMode
缩放模式。
android:verticalSpacing
两行之间的间距。
-->
xml代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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/GridView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnWidth="100dp"
android:gravity="center"
android:horizontalSpacing="2dp"
android:numColumns="4"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp" />
</LinearLayout>
java代码:
import android.app.Activity;
import android.content.Context;import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GridView gv = (GridView) findViewById(R.id.GridView1);
// 为GridView设置适配器
gv.setAdapter(new MyAdapter(this));
// 注册监听事件
gv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
// 要是点击的一张图片后,放大显示??
Toast.makeText(MainActivity.this, "pic" + position,
Toast.LENGTH_SHORT).show();
}
});
}
}
// 自定义适配器
class MyAdapter extends BaseAdapter {
// 上下文对象
private Context context;
// 图片数组
private Integer[] imgs = { R.drawable.pic0, R.drawable.pic0,
R.drawable.pic0, R.drawable.pic0, R.drawable.pic0, R.drawable.pic0,
R.drawable.pic0, R.drawable.pic0, R.drawable.pic0, R.drawable.pic0,
R.drawable.pic0, R.drawable.pic0, R.drawable.pic0, R.drawable.pic0,
R.drawable.pic0, R.drawable.pic0, R.drawable.pic0, R.drawable.pic0,
R.drawable.pic0, R.drawable.pic0, R.drawable.pic0, R.drawable.pic0,
R.drawable.pic0, R.drawable.pic0, R.drawable.pic0, R.drawable.pic0,
R.drawable.pic0, R.drawable.pic0, R.drawable.pic0, R.drawable.pic0,
R.drawable.pic0, R.drawable.pic0, R.drawable.pic0, R.drawable.pic0 };
MyAdapter(Context context) {
this.context = context;
}
public int getCount() {
return imgs.length;
}
public Object getItem(int item) {
return item;
}
public long getItemId(int id) {
return id;
}
// 创建View方法
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;// 小图片显示格式
if (convertView == null) {
imageView = new ImageView(context);
// / 设置ImageView对象布局
imageView.setLayoutParams(new GridView.LayoutParams(110, 110));
// 设置边界对齐
imageView.setAdjustViewBounds(false);
// 设置刻度的类型
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
// 设置间距
imageView.setPadding(0, 0, 0, 0);
} else {
imageView = (ImageView) convertView;
}
// 为ImageView设置图片资源
imageView.setImageResource(imgs[position]);
return imageView;
}
}