android Gridview九宫的效果实现

来源:互联网 发布:燕十八php教程第三部 编辑:程序博客网 时间:2024/06/05 18:10

实现的效果如下



以下是GridDemo.java的源程序

package wjq.WidgetDemo;import java.util.ArrayList;import java.util.HashMap;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.GridView;import android.widget.SimpleAdapter;public class GridDemo extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.main);    GridView gridview = (GridView)findViewById(R.id.gridview);    //生成动态数组,并且转入数据ArrayList<HashMap<String,Object>> lstImageItem = new ArrayList<HashMap<String,Object>>();for(int i=0;i<10;i++){HashMap<String,Object> map = new HashMap<String,Object>();map.put("ItemImage",R.drawable.icon);//添加图像资源的IDmap.put("ItemText","NO."+String.valueOf(i));//按序号做ItemTextlstImageItem.add(map);}//生成适配器的ImageItem <====> 动态数组的元素,两者一一对应SimpleAdapter saImageItems = new SimpleAdapter(this,  //没什么解决 lstImageItem,  //数据来源 R.layout.griditem, //grid_item的XML实现 new String[]{"ItemImage","ItemText"}, //动态数组与ImageItem对应的子项 new int[]{R.id.ItemImage,R.id.ItemText}); //ImageItem的XML文件里面的一个ImageView,两个TextView ID//添加并且显示gridview.setAdapter(saImageItems);//添加消息处理gridview.setOnItemClickListener(new ItemClickListener());}class ItemClickListener implements OnItemClickListener{@Overridepublic void onItemClick(AdapterView<?> arg0,   View arg1,   int arg2,  long arg3) {// TODO Auto-generated method stubHashMap<String,Object> item = (HashMap<String,Object>) arg0.getItemAtPosition(arg2);setTitle((String)item.get("ItemText"));}}}


以下是main.xml的脚本

<?xml version="1.0" encoding="utf-8"?>  <GridView xmlns:android="http://schemas.android.com/apk/res/android"       android:id="@+id/gridview"      android:layout_width="fill_parent"       android:layout_height="fill_parent"      android:numColumns="auto_fit"      android:verticalSpacing="10dp"      android:horizontalSpacing="10dp"      android:columnWidth="90dp"      android:stretchMode="columnWidth"      android:gravity="center"  />

以下是griditem.xml的脚本

<?xml version="1.0" encoding="utf-8"?><RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_height="wrap_content"  android:paddingBottom="4dip"  android:layout_width="fill_parent">  <ImageView  android:layout_height="wrap_content"  android:id="@+id/ItemImage"  android:layout_width="wrap_content"  android:layout_centerHorizontal="true">  </ImageView>  <TextView  android:layout_width="wrap_content"  android:layout_below="@+id/ItemImage"  android:layout_height="wrap_content"  android:text="TextView01"  android:layout_centerHorizontal="true"  android:id="@+id/ItemText">  </TextView></RelativeLayout>


原创粉丝点击