安卓:滑动菜单只滑动内容

5

我在我的应用程序中使用Sliding Menu和ActionBarSherlock。 Action Bar和Sliding Menu正常工作,但我希望滑动菜单只能滑动内容,而不是像最新版本的YouTube应用程序一样滑动Action Bar。

使用Sliding Menu是否可以实现这一点?如果可以,请告诉我如何操作。

提前感谢。

以下是我的ActionBar和SlidingMenu代码:

    getSlidingMenu().setSlidingEnabled(true);
    getSlidingMenu().setShadowWidthRes(R.dimen.shadow_width);
    getSlidingMenu().setShadowDrawable(R.drawable.shadow);
    getSlidingMenu().setBehindOffsetRes(R.dimen.actionbar_home_width);
    getSlidingMenu().setBehindScrollScale(0.25f);
    getSlidingMenu().setFadeDegree(0.35f);
    getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);

    final ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);

我不想让ActionBar隐藏。它必须保持固定,只有在ActionBar下方的内容滑动。 - Lalith Mohan
请查看这个:https://github.com/jfeinstein10/SlidingMenu - Sagar Maiyad
@segi 实际上他已经使用了。 - Blackbelt
这个问题说如果Activity没有继承自Sherlock__Activity而是保留为__Activity,则操作栏不会滑动。 - Rajesh
3个回答

8

解决方案:

        setSlidingActionBarEnabled(false);

参考:

请查看示例

在添加建议的解决方案后,您的最终代码将类似于以下内容:

getSlidingMenu().setSlidingEnabled(true);
getSlidingMenu().setShadowWidthRes(R.dimen.shadow_width);
getSlidingMenu().setShadowDrawable(R.drawable.shadow);
getSlidingMenu().setBehindOffsetRes(R.dimen.actionbar_home_width);
getSlidingMenu().setBehindScrollScale(0.25f);
getSlidingMenu().setFadeDegree(0.35f);
getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);

final ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);

        setSlidingActionBarEnabled(false);

I hope it will be helpful !!


1
现在整个滑动已被禁用。 - Lalith Mohan
说到YouTube,你如何制作滑动菜单,让内容(右侧部分)避免移动,使得唯一移动的部分是菜单本身(左侧部分)?此外,你如何使用操作栏“向上”按钮上的移动图标? - android developer
@androiddeveloper:我已经查看了官方库中的示例。你可以在你的Fragment上实现Gesture listener,在向右滑动时,与Activity通信以打开抽屉。 - Mehul Joisar
@MehulJoisar 不用在意。我想我已经找到了一个更好的库。在这里写了一篇文章:https://dev59.com/vWMl5IYBdhLWcg3wgnEE#18355662?noredirect=1#comment26949336_18355662 - android developer
@androiddeveloper:目前可能还处于初期阶段,因此谷歌会在它变得稳定和强大时将其包含进去。 - Mehul Joisar
显示剩余10条评论

2
根据GitHub上的开发人员说:
请看第一步。你有两个选项:SlidingMenu.SLIDING_WINDOW SlidingMenu.SLIDING_CONTENT

SLIDING_WINDOW会在SlidingMenu的内容部分中包括标题/操作栏,而 SLIDING_CONTENT 则不会。

SlidingMenu集成

0

我尝试了给出的解决方案,但它不起作用。

我正在同时使用SherlockActionBar和SlidingMenu。当我没有为setSlidingActionBarEnabled方法设置任何内容时,它运行良好。但是它会滑动整个窗口,我希望只在内容被滑动时才滑动。

因此,我调用了这个方法:setSlidingActionBarEnabled(false);

这有几个问题:

  1. 当应用首次加载时,这会使应用显示一个空白的白色页面。我在操作栏中显示多个选项卡,所以第一个选项卡显示为选定状态,但内容为空。
  2. 如果我在第二个选项卡中滑动时,则后面的页面内容可见,但它也与当前在选项卡2上显示的内容重叠。

任何指针将是有帮助的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接