Android 抽屉导航


效果

使用最新的Android-support-v4.jar

 

免费下载地址在 http://linux.bkjia.com/

用户名与密码都是www.bkjia.com

具体下载目录在 /2013年资料/6月/4日/Android 抽屉导航


 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <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>

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 /** 抽屉导航变量 */ 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); } }

详见我翻译的

 

 

相关内容

    暂无相关文章