1:main.xml 里定义一个gridview。
<GridView android:id="@+id/GridView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numColumns="3" android:horizontalSpacing="10dip" android:verticalSpacing="30dip" android:columnWidth="90dp" android:stretchMode="columnWidth" android:gravity="center"> </GridView>
2:新建一个 gridview.xml ,用于定义九宫格的图片和文字显示
<?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" android:gravity="center" > <ImageView android:id="@+id/froad_main_gridview_imageview" android:layout_width="50dp" android:layout_height="50dp" android:layout_gravity="center_horizontal" /> <TextView android:id="@+id/froad_main_gridview_textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:textSize="18sp" android:lines="1" android:layout_margin="8dp" /> </LinearLayout>
3:展示九宫格主要代码
GridView gridview = (GridView)findViewById(R.id.GridView); ArrayList<HashMap<String,Object>> imageItem = new ArrayList<HashMap<String, Object>>(); for(int i=0;i<2;i++){ HashMap<String,Object> map = new HashMap<String, Object>(); if(i == 0){ map.put("itemImage",R.drawable.icon); map.put("itemText", getResources().getString(R.string.gridview0)); } if(i == 1){ map.put("itemImage", R.drawable.icon); map.put("itemText", getResources().getString(R.string.gridview1)); } imageItem.add(map); } SimpleAdapter simpleAdapter = new SimpleAdapter(this, imageItem, R.layout.road_gridview, new String[]{"itemImage","itemText"}, new int[]{R.id.froad_main_gridview_imageview,R.id.froad_main_gridview_textview}); gridview.setAdapter(simpleAdapter); gridview.setOnItemClickListener(new ItemClickListener());
class ItemClickListener implements OnItemClickListener{ @Override public void onItemClick(AdapterView<?> arg0 /*The AdapterView where the click happened*/ , View arg1 /*The view within the AdapterView that was clicked*/ , int arg2, /*The position of the view in the adapter*/ long arg3) { /*The row id of the item that was clicked*/ // TODO Auto-generated method stub HashMap<String, Object> item = (HashMap<String, Object>)arg0.getItemAtPosition(arg2); if(item.get("itemText").equals(getResources().getString(R.string.gridview0))){ Toast.makeText(ZunyiDemoActivity.this, R.string.gridview0, Toast.LENGTH_SHORT).show(); } if(item.get("itemText").equals(getResources().getString(R.string.gridview1))){ Toast.makeText(ZunyiDemoActivity.this, R.string.gridview1, Toast.LENGTH_SHORT).show(); } }
另外在资源文件String.xml中定义一些小东东就好啦。
<string name="gridview0">游戏点卡</string> <string name="gridview1">机票订购</string>
OK!小demo做好了。上图瞧瞧效果