Android抽屉,对用户的体验是非常好的。第一次见到Android抽屉是在51job的Android客户端,最近我在微信上也看到这样一个效果,今天花了点时间写了一个Android抽屉测试与大家分享。
先贴效果图:
代码:
package com.jefry.activity;
import com.jefry.service.MyAdapter;
import android.app.Activity;
import android.os.Bundle;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.SlidingDrawer;
public class SlidingdrawerActivity extends Activity {
private GridView gridview;
private SlidingDrawer slidingdrawer;
private ImageView imageview;
private int[] icons={R.drawable.main1,R.drawable.main2,
R.drawable.main3,R.drawable.main4,
R.drawable.main5,R.drawable.main6,
R.drawable.main7,R.drawable.main8,R.drawable.main9};
private String[] items={"jefry1","jefry2","jefry3","jefry4","jefry5","jefry6","jefry7","jefry8","jefry9"};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gridview = (GridView)findViewById(R.id.gridview);
slidingdrawer = (SlidingDrawer)findViewById(R.id.sd);
imageview=(ImageView)findViewById(R.id.imageview);
MyAdapter adapter=new MyAdapter(this,items,icons);
gridview.setAdapter(adapter);
slidingdrawer.setOnDrawerOpenListener(new SlidingDrawer.OnDrawerOpenListener()
{
public void onDrawerOpened()
{
imageview.setImageResource(R.drawable.draw_down);
}
});
slidingdrawer.setOnDrawerCloseListener(new SlidingDrawer.OnDrawerCloseListener()
{
public void onDrawerClosed()
{
imageview.setImageResource(R.drawable.draw_up);
}
});
}
}
package com.jefry.service;
import com.jefry.activity.R;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class MyAdapter extends BaseAdapter
{
private Context context;
private String[] items;
private int[] icons;
public MyAdapter(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 arg0)
{
return items[arg0];
}
public long getItemId(int position)
{
return position;
}
public View getView(int position, View convertView, ViewGroup parent)
{
LayoutInflater factory = LayoutInflater.from(context);
View v = (View) factory.inflate(R.layout.item, null);//绑定自定义的layout
ImageView iv = (ImageView) v.findViewById(R.id.icon);
TextView tv = (TextView) v.findViewById(R.id.text);
iv.setImageResource(icons[position]);
tv.setText(items[position]);
return v;
}
}