滑动菜单库(SlidingMenu library)和安卓导航抽屉(Android Navigation Drawer)有什么区别?

18

SlidingMenu库是一款优秀的第三方库,我已经使用了很长时间。现在我知道Android提供了一个新的导航模式,使用导航抽屉(Navigation Drawer)。它看起来像是滑动菜单。那么有没有人同时使用这两个库?它们之间有什么区别和优缺点?非常感谢。

4个回答

10

SlidingMenu是一个第三方API,它使用内部的RelativeLayout。其主要优点是根据您的需求进行自定义。但您的布局必须基于一个视图组,不幸的是这会抵消<merge>优化。

导航抽屉在Android的Support Library中可用,它使用DrawerLayout内部。其主要优点是提高了性能。


2
抽屉式导航现在是最好的选择,因为谷歌正在将其作为标准,并为此提供了很多支持。 - Arun C
SlidingMenu库具有响应式UI的精彩示例,我正在寻找Navigation Drawer中相同的内容!我计划将SlidingMenu的示例移植到Navigation Drawer中 :) - LOG_TAG
@TCA 看起来似乎没有办法在不引入人为延迟的情况下使其平滑关闭。 - theblang

4
他们还有不同的视觉效果。SlidingMenu看起来像水平滚动视图。将其滑入会将主要内容推出。
优点:
- 它带有菜单内容的酷炫进入/退出动画。 - 根据您使用它的Activity,它可以放置在操作栏下面或旁边(也可以推动操作栏)。 - 您可以通过setter显式设置触摸模式:边距或全屏。在全屏模式下,触摸屏幕上的任何位置都将打开菜单。在边距模式下,只有当您从屏幕边缘滑动时,菜单才会打开。
缺点:
- 您只能控制侧边菜单的阴影
导航抽屉/抽屉布局看起来像是一个额外的顶级视图,位于框架布局中。将其滑入会遮盖主要内容。
优点:
  • 如果您使用的是v4支持库,则已经有了。
  • 您可以通过setScrimColor控制侧边菜单阴影和遮蔽主内容,例如当抽屉被打开时,一个淡入的透明层会出现在主内容上方。这对于在内容和菜单颜色相同时视觉上区分内容和菜单非常有用。

缺点:

  • 它只能放置在ActionBar下面
  • 没有触摸模式的setter,默认情况下只能做边缘触摸模式。进行全屏触摸模式(如Youtube)需要大量的{{link1:工作}}。

1
我认为最大的优势是它是官方的Google代码,我的意思是它只需要工作,并且工作得非常好。 主要的缺点是使用起来非常基础,我的意思是...你不能在同一个活动或片段中放置两个导航抽屉,你只能在左侧使用一个。

5
导航抽屉可以在左侧或右侧使用,甚至可以同时在两侧使用不同的视图。我已经以这种方式使用过它。这是一篇有更多信息的博客文章:http://onsoftwareandstuff.com/2013/06/19/android-navigation-drawer-pattern/ - spatialist
1
导航抽屉真的需要一些像SlidingMenu那样的示例!我们可以开始将其移植到导航抽屉!! - LOG_TAG
我能否使用Activity代替Fragment? 我的意思是,当我点击项目时,我想要进入Activity类。我查找了许多示例,但在大多数示例中,都使用Fragment而不是Activity。 - learner

0

你已经自己说了。滑动菜单是第三方的。导航抽屉是官方的。两者目的相同,但是不同的第三方库可能会稍微有所不同,具体取决于你使用哪个。


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