今天要写一个简单的九宫格布局,通过gridview控件来实现多行网格布局,这里我就不针对控件多做解释了,
简单的实现了图片的排布方式,把每张图片都放入了map中去后添加map到list中去,
public void init()
{
_gridView1 = (GridView)findViewById(R.id.MainActivityGrid);
ArrayList
for(int i = 0 ;i < images.length; i++)
{
HashMap
map.put("itemImage", images[i]);
lst.add(map);
}
SimpleAdapter adpter = new SimpleAdapter(this,
lst,R.layout.tab1_item_layout,
new String[]{"itemImage"},
new int[]{R.id.MainActivityImage});
_gridView1.setAdapter(adpter);
_gridView1.setPadding(15, 15, 15, 15); //每格的间距
_gridView1.setOnItemClickListener(new gridView1OnClickListener());
}
------------------------------------------------------------------------------------------------------------------------------
SimpleAdapter adpter = new SimpleAdapter(this,
lst,R.layout.tab1_item_layout,
new String[]{"itemImage"},
new int[]{R.id.MainActivityImage});
这里要说一下,配置器的参数,
第一个参数:就不用我介绍了吧,如果第一个不知道你就放弃吧。
第二个参数:存放你数据的数组。
第三个参数:子布局的XML文件。
第四个参数: 是为子布局文件中的每一个控件在map中附上KEY值。
第五个参数:子布局中的控件, 也就是你想要显示在网格布局中的控件,
我这里只添加了Imageview到九宫格中,也就是只有三行三列的一个就宫格的样式,每一个item下面没有文字描述,如果需要可以添加
map.put("itemtextview", textview[i]);把每个textview添加到map中,
SimpleAdapter adpter = new SimpleAdapter(this,
lst,R.layout.tab1_item_layout,
new String[]{"itemImage"},
new int[]{R.id.MainActivityImage});
配置器这里需要修改参数new String[]{"itemImage",“itemtextview”},new int[]{R.id.MainActivityImage,R.id.MainActivitytextview}
同样子布局文件也需要添加相对应的控件
android:layout_height="fill_parent"
android:orientation="vertical" >
android:id="@+id/MainActivityImage"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="15dp"/>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:layout_gravity="center_horizontal"
android:layout_below = "@+id/MainActivityImage"/>
----------------------------------------------------------------------------------------------------------------------------------------
监听就很简单了,int arg2 就是你点击的item的序号,注意一点item序号从0开始
class gridView1OnClickListener implements OnItemClickListener
{
public void onItemClick(AdapterView> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
Object obj = _gridView1.getAdapter().getItem(arg2);
HashMap
// String str = (String) map.get("itemText");
// Intent intent = new Intent();
// intent.setClass(Activity1.this, Temperature_alarm.class);
// intent.putExtra("Name", str);
// startActivity(intent);
// Toast.makeText(getApplicationContext(), ""+str+"\n", 0).show();
}
}
到这就完事了,希望可以帮到比我还要小白的小伙伴们......