Android:九宫格
九宫格普遍使用在各种各样的UI设计中,这里讲解在Android中怎么实现九宫格的效果。
首先,九宫格每格就是一个GridView
<GridView android:id="@+id/GridView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:numColumns="3" android:horizontalSpacing="20dp" android:verticalSpacing="20dp" android:columnWidth="90dp" android:stretchMode="columnWidth" android:gravity="center" ></GridView>
在Activity中,我们就要对每个GridView进行相应的处理
//九宫格数据的初始化 private void initGridView(){ GridView gridView = (GridView) findViewById(R.id.GridView); ArrayList<HashMap<String, Object>> menulist = new ArrayList<HashMap<String,Object>>(); for(int i=0;i<drawable.length;i++){ HashMap<String, Object> map = new HashMap<String, Object>(); map.put("ItemImage", drawable[i]); map.put("ItemText",menuItemText[i]); menulist.add(map); } SimpleAdapter saMenuItem = new SimpleAdapter( this,menulist,R.layout.home_menuitem, new String[]{"ItemImage","ItemText"}, new int[]{R.id.ItemImage,R.id.ItemText}); gridView.setAdapter(saMenuItem); gridView.setOnItemClickListener(new GridViewOnClick()); }
home_menuitem.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" > <ImageView android:layout_width="fill_parent" android:id="@+id/ItemImage" android:layout_height="fill_parent" android:layout_centerHorizontal="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/ItemImage" android:id="@+id/ItemText" android:layout_centerHorizontal="true" android:textSize="16sp" /> </RelativeLayout>