GridView 学习
1.
GridView是一个用来显示二维滚动数据的格子 它的父类是AbsListView .
2.
常用的属性设置 可以通过XMl或者在类中编写代码来实现 setNumColumns(int numColumns) 用来设置 每行显示的列数 setSelection(int position) 当前显示的列数 setVerticalSpacing(int verticalSpacing) 垂直间隔的设置 setHorizontalSpacing(int horizontalSpacing) 水平间隔的设置 setGravity(int gravity) 设置 视图排列的位置
以下是2个例子对GridView进一步学习
第一步 在XML布局文件里面添加GridView
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout_catalog" android:layout_width="fill_parent"
android:layout_height="wrap_content">
<GridView android:id="@+id/GridView_toolbar"
android:layout_height="wrap_content" android:layout_width="fill_parent"
android:layout_alignParentBottom="false"></GridView>
<ListView android:id="@+id/ListView_catalog"
android:layout_above="@id/GridView_toolbar" android:layout_width="fill_parent"
android:layout_height="wrap_content">
</ListView>
<GridView android:id="@+id/GridView_toolbar2"
android:layout_height="wrap_content" android:layout_width="fill_parent"
android:layout_alignParentBottom="true"
android:numColumns="5" android:horizontalSpacing="10dip"
android:verticalSpacing="10dip" android:gravity="center"
></GridView>
</RelativeLayout>
在Activity 中 进行相应的数据绑定
GridView gv,gv2;
/** 底部菜单图片 **/
int[] menu_toolbar_image_array = { R.drawable.controlbar_homepage,
R.drawable.controlbar_backward_enable,
R.drawable.controlbar_forward_enable, R.drawable.controlbar_window,
R.drawable.controlbar_showtype_list };
/** 底部菜单文字 **/
String[] menu_toolbar_name_array = { "首页", "后退", "前进", "创建", "菜单" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gv = (GridView) findViewById(R.id.GridView_toolbar);
gv.setBackgroundResource(R.drawable.channelgallery_bg);
gv.setNumColumns(5);//设置每行列数
gv.setGravity(Gravity.CENTER);
gv.setVerticalSpacing(10);//垂直的间隔
gv.setHorizontalSpacing(10);// 水平间隔
SimpleAdapter adapter = this.getMenuAdpater(menu_toolbar_name_array, menu_toolbar_image_array);
gv.setAdapter(adapter);
gv2 = (GridView) findViewById(R.id.GridView_toolbar2);
gv2.setBackgroundResource(R.drawable.channelgallery_bg);
gv2.setAdapter(adapter);
}
public SimpleAdapter getMenuAdpater(String[] menuNameArray,int[] menuImageArray)
{
ArrayList<HashMap<String, Object>> data = new ArrayList<HashMap<String,Object>>();
for(int i=0;i<menuNameArray.length;i++)
{
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("menuName", menuNameArray[i]);
map.put("menuImage", menuImageArray[i]);
data.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(this, data,
R.layout.item_menu, new String[]{"menuName","menuImage"},new int[]{R.id.TextView01,R.id.ImageView01});
return adapter;
}
数据绑定常用到 SimpleAdapter 与 BaseAdapter 2个类
下面是允许的效果图