private String items[] = {"项目1" , "项目2" ,"项目3" ,"项目4" ,"项目5"};
private int icons[] = {R.drawable.img1 , R.drawable.img2 , R.drawable.img3 , R.drawable.img4, R.drawable.img5};
private SlidingDrawer slidingDrawer;
private GridView gridView;
private ImageView image;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sling_drawer);
slidingDrawer = (SlidingDrawer)findViewById(R.id.slidingDrawer1);
gridView = (GridView)findViewById(R.id.gridView1);
image = (ImageView)findViewById(R.id.handle);
NewSlidingDrawerDrawerAdapter adapter = new NewSlidingDrawerDrawerAdapter(this, items , icons);
gridView.setAdapter(adapter);
gridView.setNumColumns(3);
slidingDrawer.setOnDrawerOpenListener(new OnDrawerOpenListener(){
public void onDrawerOpened() {
image.setImageResource(R.drawable.close);
}
});
slidingDrawer.setOnDrawerCloseListener(new OnDrawerCloseListener(){
public void onDrawerClosed() {
image.setImageResource(R.drawable.open);
}
});
}
public class NewSlidingDrawerDrawerAdapter extends BaseAdapter {
private Context context;
private String[] items;
private int[] icons;
public NewSlidingDrawerDrawerAdapter(Context context ,String[] items , int[] icons) {
this.context = context;
this.items = items;
this.icons = icons;
}
public int getCount() {
return items.length;
}
public Object getItem(int position) {
return items[position];
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater factory = LayoutInflater.from(context);
/* 使用grid.xml为每几个item的Layout */
View v = (View) factory.inflate(R.layout.gridview_item, null);
/* 取得View */
ImageView iv = (ImageView) v.findViewById(R.id.ItemImage);
TextView tv = (TextView) v.findViewById(R.id.ItemText);
/* 设定显示的Image与文字 */
iv.setImageResource(icons[position]);
tv.setText(items[position]);
return v;
}
}
gridview_item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollbars="vertical"> <ImageView android:layout_height="100dip" android:id="@+id/ItemImage" android:layout_width="80dip" android:src="@drawable/img1" android:layout_gravity="center_horizontal" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:id="@+id/ItemText" android:text="名称" /> </LinearLayout>
sliding_drawer.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <SlidingDrawer android:layout_width="fill_parent" android:id="@+id/slidingDrawer1" android:layout_height="fill_parent" android:handle="@+id/handle" android:content="@+id/content" android:orientation="horizontal"> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="wrap_content"> <ImageView android:layout_width="wrap_content" android:src="@drawable/open" android:layout_height="wrap_content" android:id="@+id/handle"></ImageView> </LinearLayout> <LinearLayout android:id="@+id/content" android:layout_width="fill_parent" android:layout_height="fill_parent"> <GridView android:layout_width="wrap_content" android:id="@+id/gridView1" android:layout_height="fill_parent"></GridView> </LinearLayout> </SlidingDrawer> </LinearLayout>