在主布局中写出DrawerLayout布局,在布局中在写一个listview
<ListView android:id="@+id/lv" android:layout_width="240sp" android:layout_height="match_parent" android:layout_gravity="start" android:choiceMode="singleChoice" android:divider="#f00" android:dividerHeight="1dp" android:background="#fff"></ListView> 在Activity中,CelaBean是封装的Bean类private DrawerLayout activity_main; private ListView lv; private List<CelaBean> beanList;activity_main = (DrawerLayout) findViewById(R.id.activity_main); lv = (ListView) findViewById(R.id.lv); beanList = new ArrayList<CelaBean>(); beanList.add(new CelaBean(R.mipmap.ic_launcher,"QQ")); beanList.add(new CelaBean(R.mipmap.ic_launcher,"我的")); beanList.add(new CelaBean(R.mipmap.ic_launcher,"你的")); beanList.add(new CelaBean(R.mipmap.ic_launcher,"他的")); CelaAdapter dapter = new CelaAdapter(beanList,MainActivity.this); lv.setAdapter(dapter); lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { activity_main.closeDrawer(lv); } });
适配器public class CelaAdapter extends BaseAdapter{ private List<CelaBean> beanList; private Context context; private LayoutInflater inflater; public CelaAdapter(List<CelaBean> beanList, Context context) { this.beanList = beanList; this.context = context; inflater = LayoutInflater.from(context); } @Override public int getCount() { return beanList.size(); } @Override public Object getItem(int position) { return beanList.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHoder hoder = new ViewHoder(); if(convertView==null){ convertView = inflater.inflate(R.layout.cela,null); hoder.image1 = (ImageView) convertView.findViewById(R.id.image1); hoder.tv = (TextView) convertView.findViewById(R.id.tv); convertView.setTag(hoder); }else{ hoder = (ViewHoder) convertView.getTag(); } hoder.image1.setImageResource(beanList.get(position).getImage()); hoder.tv.setText(beanList.get(position).getName()); return convertView; } class ViewHoder{ ImageView image1; TextView tv; } }
适配器对应的子XML<ImageView android:id="@+id/image1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" />