android – 通过点击应用程序图标打开导航抽屉?

我在我的应用程序中使用导航抽屉(从屏幕左侧滑动打开的导航types)。 现在,通常你也可以通过点击应用程序图标来打开它,当我查看时,我发现了一大堆代码添加到你的活动。 只是一个简单的button。 我想那不是我正在寻找的? 如果真的需要为单个button编写这么多的代码,那么让代码更清晰的最好方法是什么? 谢谢,并为这样一个机器人newb对不起。

Solutions Collecting From Web of "android – 通过点击应用程序图标打开导航抽屉?"

我也遇到了这个问题,假设你已经有一个ActionBarDrawerToggle @Kernaldbuild议,你需要添加以下也到你的活动:

@Override public boolean onOptionsItemSelected(MenuItem item) { // Pass the event to ActionBarDrawerToggle, if it returns // true, then it has handled the app icon touch event if (mDrawerToggle.onOptionsItemSelected(item)) { return true; } // Handle your other action bar items... return super.onOptionsItemSelected(item); } 

这让我们的切换手柄上的图标button按下的ActionBar,导致抽屉滑出。

在Google 导航抽屉指南中介绍了您需要的所有内容。 基本上,你需要在ActionBar上启用“up”动作:

 getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeButtonEnabled(true); 

那么你需要将它绑定到一个切换:

  mDrawerToggle = new ActionBarDrawerToggle( this, /* host Activity */ mDrawerLayout, /* DrawerLayout object */ R.drawable.ic_drawer, /* nav drawer icon to replace 'Up' caret */ R.string.drawer_open, /* "open drawer" description */ R.string.drawer_close /* "close drawer" description */ ) { /** Called when a drawer has settled in a completely closed state. */ public void onDrawerClosed(View view) { getActionBar().setTitle(mTitle); } /** Called when a drawer has settled in a completely open state. */ public void onDrawerOpened(View drawerView) { getActionBar().setTitle(mDrawerTitle); } }; // Set the drawer toggle as the DrawerListener mDrawerLayout.setDrawerListener(mDrawerToggle);