自己做了一个最简单的网格布局,示例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>
?