Android抽屉,对用户的体验是非常好的。第一次见到Android抽屉是在51job的Android客户端,最近我在微信上也看到这样一个效果,今天花了点时间写了一个Android抽屉测试与大家分享。

先贴效果图:

代码:

[java] view plain copy print ?
  1. packagecom.jefry.activity;
  2. importcom.jefry.service.MyAdapter;
  3. importandroid.app.Activity;
  4. importandroid.os.Bundle;
  5. importandroid.widget.GridView;
  6. importandroid.widget.ImageView;
  7. importandroid.widget.SlidingDrawer;
  8. publicclassSlidingdrawerActivityextendsActivity{
  9. privateGridViewgridview;
  10. privateSlidingDrawerslidingdrawer;
  11. privateImageViewimageview;
  12. privateint[]icons={R.drawable.main1,R.drawable.main2,
  13. R.drawable.main3,R.drawable.main4,
  14. R.drawable.main5,R.drawable.main6,
  15. R.drawable.main7,R.drawable.main8,R.drawable.main9};
  16. privateString[]items={"jefry1","jefry2","jefry3","jefry4","jefry5","jefry6","jefry7","jefry8","jefry9"};
  17. /**Calledwhentheactivityisfirstcreated.*/
  18. @Override
  19. publicvoidonCreate(BundlesavedInstanceState){
  20. super.onCreate(savedInstanceState);
  21. setContentView(R.layout.main);
  22. gridview=(GridView)findViewById(R.id.gridview);
  23. slidingdrawer=(SlidingDrawer)findViewById(R.id.sd);
  24. imageview=(ImageView)findViewById(R.id.imageview);
  25. MyAdapteradapter=newMyAdapter(this,items,icons);
  26. gridview.setAdapter(adapter);
  27. slidingdrawer.setOnDrawerOpenListener(newSlidingDrawer.OnDrawerOpenListener()
  28. {
  29. publicvoidonDrawerOpened()
  30. {
  31. imageview.setImageResource(R.drawable.draw_down);
  32. }
  33. });
  34. slidingdrawer.setOnDrawerCloseListener(newSlidingDrawer.OnDrawerCloseListener()
  35. {
  36. publicvoidonDrawerClosed()
  37. {
  38. imageview.setImageResource(R.drawable.draw_up);
  39. }
  40. });
  41. }
  42. }
[java] view plain copy print ?
  1. packagecom.jefry.service;
  2. importcom.jefry.activity.R;
  3. importandroid.content.Context;
  4. importandroid.view.LayoutInflater;
  5. importandroid.view.View;
  6. importandroid.view.ViewGroup;
  7. importandroid.widget.BaseAdapter;
  8. importandroid.widget.ImageView;
  9. importandroid.widget.TextView;
  10. publicclassMyAdapterextendsBaseAdapter
  11. {
  12. privateContextcontext;
  13. privateString[]items;
  14. privateint[]icons;
  15. publicMyAdapter(Contextcontext,String[]items,int[]icons)
  16. {
  17. this.context=context;
  18. this.items=items;
  19. this.icons=icons;
  20. }
  21. publicintgetCount()
  22. {
  23. returnitems.length;
  24. }
  25. publicObjectgetItem(intarg0)
  26. {
  27. returnitems[arg0];
  28. }
  29. publiclonggetItemId(intposition)
  30. {
  31. returnposition;
  32. }
  33. publicViewgetView(intposition,ViewconvertView,ViewGroupparent)
  34. {
  35. LayoutInflaterfactory=LayoutInflater.from(context);
  36. Viewv=(View)factory.inflate(R.layout.item,null);//绑定自定义的layout
  37. ImageViewiv=(ImageView)v.findViewById(R.id.icon);
  38. TextViewtv=(TextView)v.findViewById(R.id.text);
  39. iv.setImageResource(icons[position]);
  40. tv.setText(items[position]);
  41. returnv;
  42. }
  43. }

源码下载:http://download.csdn.net/detail/jefry_xdz/4525477

更多相关文章

  1. C#开发Android手机应用全接触(mono for android)
  2. Android官方架构组件DataBinding双向绑定篇: 观察者模式的殊途同
  3. Android(安卓)系统完整的权限列表
  4. Android(安卓)RadioGroup RadioButton 自定义样式------按钮式
  5. Android抽屉(SlidingDrawer --类似android通知栏下拉效果)
  6. Android开发学习之Gallery和GridView浅析
  7. Android(安卓)- 约束布局实现一个简单的登陆界面
  8. Android(安卓)抽屉导航
  9. 安卓基本常用控件: View

随机推荐

  1. 将android 应用强制横屏
  2. android TV开发常见问题
  3. 【Android】自定义 Tabhost
  4. Android HTTP框架Volley详解
  5. Android圆型头像实现
  6. android studio3 多渠道打包及编译速度优
  7. Android SystemClock
  8. Android TV 模拟器启动
  9. Android平板获取唯一标识DeviceId
  10. Handler传递参数动态更新UI界面demo