使用抽屉导航菜单移动操作栏sherlock

时间:2013-06-16 07:52:27

标签: android actionbarsherlock navigation-drawer

我已经使用actionbar sherlock实现了新抽屉,并且显然操作栏保持在同一状态。

我已经实现了ActionBarDrawerToggle接口来处理打开/关闭回调。

    actionBarDrawerToggle = new ActionBarDrawerToggle(this, menu, R.drawable.ic_launcher,
            R.string.app_name, R.string.app_name) {
        @Override
        public void onDrawerOpened(View drawerView) { 
            super.onDrawerOpened(drawerView);
            drawerOpened = true;
            sliderButton.setBackgroundResource(R.drawable.tab_bar_menu_icon_push);
        }

        @Override
        public void onDrawerClosed(View drawerView) {
            super.onDrawerClosed(drawerView);
            drawerOpened = false;
            sliderButton.setBackgroundResource(R.drawable.tab_menu);
        }
    };
    menu.setDrawerListener(actionBarDrawerToggle);

如何设置动作栏以及抽屉菜单移动?

2 个答案:

答案 0 :(得分:16)

这些问题对我来说似乎有些混乱,但我想如果你有正确的链接和一些历史记录,这是非常简单的答案,我将在这里尝试提供:

正如您在官方设计指南>>>LINK<<<中看到的那样:抽屉应该涵盖主要内容,ActionBar和内容都要保持固定,而不是移动。在屏幕上移动的唯一元素是实际的抽屉。

但这种模式仅在一个月前在Google I / O 2013期间发布。在此之前,每个Google应用程序都在做那个开发人员想要做的事情。现在谷歌I / O已经通过,它们都已经完全符合官方指南(大多数已经更新,例如Gmail和G +)。

如果您不想遵循官方指南并希望在抽屉打开时将整个应用程序(ActionBar和内容)移出屏幕,最简单的方法是使用优秀的SlidingMenu库{{ 3}}。如果你阅读这些例子并在网上搜索,我相信你会找到实现它的方法。

如果你想遵循官方指南,但也想使用ActionBarSherlock(这就是我在当前项目中所做的那样)你可以在官方项目的这个GIT拉取请求中找到与ActionBarSherlock兼容的ActionBarDrawerToggle { {3}}但是这个拉取请求没有被接受,所以你可以从那里复制代码并放在你的项目上,或者你可以在原来的ActionBarSherlock >>>LINK<<<中使用这个已经实现并已经应用的人我建议的修复。

我希望这能回答你的问题。

答案 1 :(得分:2)

我最近正在阅读类似的问题。它可能会给出一些答案: How did Google manage to do this? Slide ActionBar in Android application

相关问题