<GridView
android:id="@+id/gridview"
android:layout_width="550dp"
android:layout_height="wrap_content"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:columnWidth="130dp"
android:stretchMode="none"
android:cacheColorHint="#00000000"
android:listSelector="@android:color/transparent"
android:layout_alignParentBottom="true"
android:layout_marginBottom="50dp"
android:layout_centerHorizontal="true" />
原小学科学实验里用的控件,装4个学科图片和文字名称。
java代码里的图片初始化:
//四本科学书的图片
private int[] gridImages = new int[] { R.drawable.wuli, R.drawable.huaxue,
R.drawable.shengwu, R.drawable.huanjing};
private String[] gridTexts = new String[] { "物理科学 ", "化学科学", "生命科学",
"环境科学" };
//物理、化学、生命、环境科学书架开始
GridView gridview = (GridView) findViewById(R.id.gridview);
//生成动态数组,并且转入数据
ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>();
for(int i=0;i<4;i++)
{
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("ItemImage", gridImages[i]);//添加图像资源的ID
map.put("ItemText", gridTexts[i]);//书名字符串数组做ItemText
lstImageItem.add(map);
}
//生成适配器的ImageItem <====> 动态数组的元素,两者一一对应
SimpleAdapter saImageItems = new SimpleAdapter(this, //没什么解释
lstImageItem,//数据来源
R.layout.grid_position,//XML实现
//动态数组与ImageItem对应的子项
new String[] {"ItemImage","ItemText"},
//ImageItem的XML文件里面的一个ImageView,一个TextView ID
new int[] {R.id.ItemImage,R.id.ItemText});
//添加并且显示
gridview.setAdapter(saImageItems);
//添加消息处理
gridview.setOnItemClickListener(new 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
{
switch(arg2){
case 0:
setSimulateClick(mCircleMenuLayout, mCircleMenuLayout.getLeft()+60, mCircleMenuLayout.getTop()+400);
break;
case 1:
showExpDetails("EXP_HUAXUE");
//startActivity(new Intent(MainActivity.this,List3DActivity.class).putExtra("Category", "EXP_HUAXUE"));
break;
case 2:
showExpDetails("EXP_SHENGMING");
//startActivity(new Intent(MainActivity.this,List3DActivity.class).putExtra("Category", "EXP_SHENGMING"));
break;
case 3:
showExpDetails("EXP_HUANJING");
//startActivity(new Intent(MainActivity.this,List3DActivity.class).putExtra("Category", "EXP_HUANJING"));
break;
}
}
});
//科学书结束
grid_position.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingBottom="4dip" >
<TextView
android:id="@+id/ItemText"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/app_name"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:layout_marginBottom="10dip"
android:layout_marginTop="10dip"
android:background="@drawable/common_signin_btn_icon_pressed_light"
android:textColor="@color/white"
>
</TextView>
<ImageView
android:id="@+id/ItemImage"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_below="@+id/ItemText"
android:layout_centerHorizontal="true"
android:contentDescription="@string/app_name">
</ImageView>
</RelativeLayout>