新的Facebook应用程序和它的导航太酷了。我只是想看看如何在我的应用程序中模仿它。

有人知道怎么实现吗?

点击左上角按钮,页面滑动,显示如下画面:

YouTube视频


当前回答

最近我在开发我的滑动菜单实现版本。它使用流行的J.Feinstein Android库SlidingMenu。

请在GitHub上查看源代码:

https://github.com/baruckis/Android-SlidingMenuImplementation

直接下载app到设备上尝试:

https://play.google.com/store/apps/details?id=com.baruckis.SlidingMenuImplementation

由于注释,代码应该是自解释的。希望对大家有所帮助!;)

其他回答

这里是另一个(非常好的)开源库!

它的优点是很容易与ActionBarSherlock集成。

这是github项目链接

这里是谷歌播放下载链接

这是简单而优雅的:https://github.com/akotoe/android-slide-out-menu.git

快照:

我在这里做一些大胆的猜测……

我假设它们有一个表示不可见的菜单的布局。当点击菜单按钮时,它们会在顶部移动布局/视图,并简单地启用菜单布局的可见性。我没有想过这会在视图中引起任何类型的z索引问题,或者他们如何控制它。

我认为facebook应用程序不是用原生代码(我指的是在Android中使用布局的原生代码)编写的,但他们使用了webview,并使用了一些javascript ui库,如sencha。使用sencha框架可以很容易地实现。

我自己也玩过这个,我能找到的最好的方法是使用FrameLayout,并在菜单顶部放置一个自定义的HorizontalScrollView (HSV)。在HSV内部是应用程序视图,但是有一个透明的视图作为第一个子视图。这意味着,当HSV有零滚动偏移时,菜单将显示(并且仍然是可点击的)。

当应用程序启动时,我们将HSV滚动到第一个可见应用程序视图的偏移量,当我们想要显示菜单时,我们向后滚动以通过透明视图显示菜单。

代码在这里,底部的两个按钮(称为HorzScrollWithListMenu和HorzScrollWithImageMenu)在启动活动中显示了我能想出的最好的菜单:

Android滑动菜单演示

模拟器截图(中间滚动):

来自设备的截图(全滚动)。注意,我的图标没有Facebook菜单图标宽,所以菜单视图和“应用程序”视图并不对齐。