Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 有没有办法使用ActionBarSharlock的新抽屉布局?_Android_Actionbarsherlock - Fatal编程技术网

Android 有没有办法使用ActionBarSharlock的新抽屉布局?

Android 有没有办法使用ActionBarSharlock的新抽屉布局?,android,actionbarsherlock,Android,Actionbarsherlock,我想知道是否有任何方法可以将支持库中的新抽屉布局与ActionBarSherlock一起使用? 我找到了ICS+的解决方案,但我需要的是对android 2.2的支持+ 问题是ABS仅在ICS+时才保留对原始android.view.MenuItem的引用,但对于旧版本,内部实现不保留对原始版本的引用。如果您想在用户触摸ActionBar图标时打开和关闭抽屉布局,可以使用以下方法: switch (item.getItemId()) { case android.R.id.home:

我想知道是否有任何方法可以将支持库中的新抽屉布局与ActionBarSherlock一起使用? 我找到了ICS+的解决方案,但我需要的是对android 2.2的支持+
问题是ABS仅在ICS+时才保留对原始android.view.MenuItem的引用,但对于旧版本,内部实现不保留对原始版本的引用。

如果您想在用户触摸ActionBar图标时打开和关闭抽屉布局,可以使用以下方法:

switch (item.getItemId()) {
    case android.R.id.home:
        if (mDrawerLayout.isDrawerOpen(mDrawerList)) {
            mDrawerLayout.closeDrawer(mDrawerList);
        } else {
            mDrawerLayout.openDrawer(mDrawerList);
        }
        return true;

    }
    return true;
}

GitHub上有一个项目运行得非常好


希望这有帮助

我能够顺利实施它。如果您遇到问题,如果我们不知道它是什么,我们将无能为力。您是否使用ActionBarSherlock实现了它?当MenuItem的类型为android.view.MenuItem时,如何处理新抽屉布局需要
mDrawerToggle.onOptions ItemSelected(MenuItem)
中的
public boolean onOptions ItemSelected(MenuItem)
?扩展
SherlockActivity
时,您将获得类型为
com.actionbarsherlock.view.MenuItem的MenuItem
这是不同的,我没有实现抽屉切换。然而,抽屉确实与ActionBarSherlock合作,在何种程度上我不确定,我建议用您刚才提出的问题创建一个新问题。这正是我想要的。谢谢@enrique@justin.harrison伟大的很高兴知道这一点!出于好奇,这个示例所做的基本上是用标准的Android MenuItem类包装sherlock MenuItem类,以便可以使用通常的DrawerLayout.onOptions ItemSelected()方法。该解决方案支持drawer图标吗?最后,出于其他原因,我决定使用AppCompat进行迁移,但很高兴知道这一点。