效果

使用最新的android-support-v4.jar, 见附件.


           ...          

    /** 抽屉导航变量 */    private DrawerLayout mDrawerLayout;    private ListView mDrawerList;    private ActionBarDrawerToggle mDrawerToggle;                          ...                                  /** 抽屉导航相关 */        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);        mDrawerList = (ListView) findViewById(R.id.left_drawer);        mDrawerLayout.setDrawerShadow(R.drawable.draw, GravityCompat.RELATIVE_HORIZONTAL_GRAVITY_MASK);                                  mDrawerList.setAdapter(new SimpleAdapter(this, getDrawerItems(false),                R.layout.drawer_item, new String[] { "drawer_img",                        "drawer_title" }, new int[] { R.id.drawer_img,                        R.id.drawer_title }));                                  mDrawerList.setOnItemClickListener(new DrawerItemClickListener());        mDrawerToggle = new ActionBarDrawerToggle(                this,                  /** host Activity */                mDrawerLayout,         /** DrawerLayout object */                R.drawable.draw,  /** nav drawer p_w_picpath to replace 'Up' caret */                R.string.search_label,  /** "open drawer" description for accessibility */                R.string.defalut_text  /** "close drawer" description for accessibility */                ) {            public void onDrawerClosed(View view) {                getActionBar().setTitle("onDrawerClosed");                invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()            }                                      public void onDrawerOpened(View drawerView) {                getActionBar().setTitle("onDrawerOpened");                invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()            }        };        mDrawerLayout.setDrawerListener(mDrawerToggle);                          ...                              /**     * 监听抽屉导航item点击事件     */    private class DrawerItemClickListener implements ListView.OnItemClickListener {                                  @Override        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {            selectItem(view, position);        }    }                              private boolean flag = false;    private void selectItem(View view, int position) {        if (position == 0) {            if (!flag) {                mDrawerList.setAdapter(new SimpleAdapter(this, getDrawerItems(true),                        R.layout.drawer_item, new String[] { "drawer_img",                                "drawer_title" }, new int[] { R.id.drawer_img,                                R.id.drawer_title }));                flag = true;            } else {                mDrawerList.setAdapter(new SimpleAdapter(this, getDrawerItems(false),                        R.layout.drawer_item, new String[] { "drawer_img",                                "drawer_title" }, new int[] { R.id.drawer_img,                                R.id.drawer_title }));                flag = false;            }        } else {            TextView title = (TextView) view.findViewById(R.id.drawer_title);            String cityName = title.getText().toString();            this.cityInput.setText(cityName);        }    }

详见我翻译的http://lichen.blog.51cto.com/697816/1211685

更多相关文章

  1. [1] Android主要源代码组成
  2. Android抽屉(SlidingDrawer --类似android通知栏下拉效果)
  3. android facebook authorize 时禁止调用facebook app
  4. Android体系结构
  5. android 胡言乱语 1 android basic
  6. 【Android】如何调节屏幕亮度,关闭屏幕
  7. ch020 Android(安卓)SQLite3(第二部分)
  8. ch013 Android(安卓)ScrollView与ListView
  9. ch010 Android(安卓)GridView

随机推荐

  1. Android短彩信数据库信息整理
  2. Android在顶部标题栏添加按钮
  3. Android(安卓)8.0: java.lang.IllegalSta
  4. 2018年Android最新面试题
  5. Android(安卓)主动获取电量的方法
  6. 图形绘制中的PorterDuffXfermode
  7. Android文件访问权限问题
  8. Android中Http请求
  9. ant 一键打包
  10. android Immutable bitmap passed to Can