SlidingMenu 库和 Android Navigation Drawer 有啥区别?

Posted

技术标签:

【中文标题】SlidingMenu 库和 Android Navigation Drawer 有啥区别?【英文标题】:What is the difference between the SlidingMenu library and the Android Navigation Drawer?SlidingMenu 库和 Android Navigation Drawer 有什么区别? 【发布时间】:2013-05-24 12:52:57 【问题描述】:

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

【问题讨论】:

【参考方案1】:

SlidingMenu library 是一个第三方 api,它在内部使用了 RelativeLayout。主要优点是根据您的要求进行定制。购买您的布局必须基于视图组,不幸的是这否定了<merge> 优化。

导航抽屉可以在Support Library of android里面使用它使用DrawerLayout。主要优点是提高了性能。

【讨论】:

Navigation Drawer 是现在最好的选择,因为 google 将其作为标准并为此提供了大量支持。 SlidingMenu 库有很棒的响应式 UI 示例,我正在 Navigation Drawer 中寻找相同的示例!我打算将 SlidingMenu 的示例移植到 Navigation Drawer :) @TCA 似乎没有办法让它顺利关闭而不引入人为延迟。【参考方案2】:

它们也有不同的视觉效果。 SlidingMenu 看起来像水平滚动视图。将其滑入会将主要内容推出。

优点:

它为菜单内容提供了很酷的进入/退出动画。 根据您在哪个 Activity 上使用它,可以将其放置在 below 操作栏或旁边(也可以推动操作栏) 您可以通过设置器显式设置触摸模式:边距或全屏。在全屏模式下,触摸屏幕上的任意位置将打开菜单。在边距中,只有当您从屏幕边缘滑动时,菜单才会打开。

缺点:

您只能控制侧边菜单的阴影

导航抽屉/抽屉布局看起来像框架布局中的附加***视图。将其滑入将掩盖主要内容。 优点:

如果您使用 v4 支持库,那么它已经存在。 您可以同时控制侧边菜单的阴影和遮挡主菜单 内容通过 setScrimColor 例如当抽屉打开时,淡入 alpha 层将出现在主要内容的上方。这有助于在视觉上将内容和菜单分开,尤其是当两者具有相同的颜色时。

缺点:

只能放在A​​ctionBar下方 触摸模式没有设置器,默认情况下您只能进行边距触摸模式。做全屏触控模式(比如Youtube)涉及很多work

【讨论】:

【参考方案3】:

我认为最大的优势是它是官方的 Google 代码,我的意思是它可以正常工作并且运行良好。 主要缺点是它使用起来非常基础,我的意思是......你不能将两个导航抽屉放在同一个活动或片段中,你只能在左边使用一个,就是这样。

【讨论】:

导航抽屉可以在左侧或右侧使用,甚至可以同时在两侧使用,具有不同的视图。我已经这样用了。这是一篇包含更多信息的博客文章:onsoftwareandstuff.com/2013/06/19/… 导航抽屉真的需要一些像SlidingMenu这样的样本!我们可以开始将它移植到导航抽屉!! 我可以使用活动而不是片段吗?我的意思是当我点击项目时我想去活动类。我搜索了很多示例,但在大多数示例中使用片段而不是活动【参考方案4】:

你自己已经说过了。滑动菜单是第三方的。导航抽屉是官方的。两者的目的相同,但第三方库的实现方式可能略有不同,具体取决于您使用的是哪一个。

【讨论】:

以上是关于SlidingMenu 库和 Android Navigation Drawer 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

Android中的slidingmenu

使用SlidingMenu的方法以及Android Studio 如何导入第三方库SlidingMenu

Android——SlidingMenu学习总结

Android SlidingMenu使用详解

Android SlidingMenu 使用详解

Android SlidingMenu 使用详解