【发布时间】:2013-11-20 18:00:25
【问题描述】:
我在我的应用中使用导航抽屉(您通过从屏幕左侧滑动打开的导航类型)。现在,通常你也可以通过点击应用程序图标来打开它,当我查看它时,我发现了一大堆代码可以添加到你的活动中。而且只是一个简单的按钮。我想那不正是我要找的吗?如果一个按钮真的需要这么多代码,让代码更清晰的最好方法是什么?谢谢你,也很抱歉成为这样的安卓新手。
【问题讨论】:
标签: android button navigation drawer
我在我的应用中使用导航抽屉(您通过从屏幕左侧滑动打开的导航类型)。现在,通常你也可以通过点击应用程序图标来打开它,当我查看它时,我发现了一大堆代码可以添加到你的活动中。而且只是一个简单的按钮。我想那不正是我要找的吗?如果一个按钮真的需要这么多代码,让代码更清晰的最好方法是什么?谢谢你,也很抱歉成为这样的安卓新手。
【问题讨论】:
标签: android button navigation drawer
我也遇到了这个问题,假设您已经有 @Kernald 建议的 ActionBarDrawerToggle,您还需要将以下内容添加到您的活动中:
@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);
}
这让我们切换手柄按下操作栏上的图标按钮,导致抽屉滑出。
【讨论】:
您需要的一切都在 Google 的 Navigation Drawer Guide 中进行了描述。基本上,您需要在 ActionBar 上启用“向上”操作:
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
然后你需要将它绑定到一个 Toggle:
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);
【讨论】: