自己做了一个最简单的网格布局,示例1:首先. 定义几张图片
private Integer[] mApps = { R.drawable.b1, R.drawable.b2, R.drawable.b3,
R.drawable.b4, R.drawable.b5, R.drawable.b6, R.drawable.b7, R.drawable.b8, R.drawable.b9,R.drawable.b10 };
然后实现ImageAdapter继承BaseAdapter:
public class ImageAdapter extends BaseAdapter {
private Context context;
public ImageAdapter(Context c) {
super();
this.context = c;
}
public int getCount() {
return mApps.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View converView, ViewGroup parent) {
ImageView i;
if (converView == null) {
i = new ImageView(context);
i.setLayoutParams(new GridView.LayoutParams(75, 75));
i.setScaleType(ImageView.ScaleType.FIT_CENTER);
i.setPadding(5, 5, 5, 5);
} else {
i = (ImageView) converView;
}
i.setImageResource(mApps[position]);
return i;
}
}
在Activity中实现:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GridView mgrid = (GridView) findViewById(R.id.grid);
mgrid.setAdapter(new ImageAdapter(this));
mgrid.setBackgroundResource(R.drawable.background);
mgrid.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
Toast.makeText(MainActivity.this, "你选中了 " + (position+1)+"号图片",
Toast.LENGTH_SHORT).show();
}
});
}
GridView 是在main.xml中定义
<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="fill_parent"
android:padding="10dip" android:verticalSpacing="10dip"
android:horizontalSpacing="10dip" android:numColumns="auto_fit"
android:columnWidth="60dip" android:stretchMode="columnWidth"
android:gravity="center" android:id="@+id/grid"/>
</LinearLayout>