效果

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

<android.support.v4.widget.DrawerLayout     xmlns:android="http://schemas.android.com/apk/res/android"     android:id="@+id/drawer_layout"     android:layout_width="match_parent"     android:layout_height="match_parent">     <!-- The main content view -->      ...    <!-- The navigation drawer -->     <ListView        android:id="@+id/left_drawer"        android:layout_width="120dp"        android:layout_height="match_parent"        android:layout_gravity="start"        android:choiceMode="singleChoice"        android:divider="@android:color/transparent"        android:dividerHeight="0dp"        android:background="#EEA9B8"/> </android.support.v4.widget.DrawerLayout>
    /** 抽屉导航变量 */    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 image 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. Android(安卓)抽屉式
  2. android监听网络变化
  3. IFL嵌入式小组技术博客入口导航
  4. Android中的一些开关
  5. Android(安卓)- ToDoList(fragment) 详解
  6. Android(安卓)Market URL
  7. Android短信的发送和广播接收者实现短信的监听
  8. Android(安卓)- ToDoList(fragment) 详解
  9. Android抽屉(SlidingDrawer --类似android通知栏下拉效果)

随机推荐

  1. MTK Android(安卓)平台开发之旅
  2. Android(安卓)多按钮监听器设置
  3. 开发可统计单词个数的Android驱动程序(2)
  4. Android字符串进阶之三:字体属性及测量(Fon
  5. 我是如何自学Android,资料分享(2017 版)
  6. Android RxJava:一文带你全面了解 背压策
  7. android textview文字换行排…
  8. 如何在android使用face++(Android Studio)
  9. 百度地图定位SDKv4.2版本(android)的使用教
  10. 深入浅出 Android Service(4)