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

有人知道怎么实现吗?

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

YouTube视频


当前回答

Android增加了导航栏。请参考这个

link

其他回答

我用AbsoluteLayout和一个简单的滑动控制器实现了这一点,它可以将视图移动到一个负偏移来隐藏。

如果有人感兴趣,我可以清理代码/布局和发布。我知道AbsoluteLayout被弃用了,但它是一个非常直接的实现。左视图/右视图,当“滑动打开”时,只需将左视图从- x偏移量移出到设备的宽度-任何你想显示的右视图

这是另一个lib,在我看来似乎是最好的。不是我写的。

更新:

这段代码似乎最适合我,它移动整个动作栏类似于G+应用程序。

谷歌是如何做到这一点的?在Android应用程序中滑动动作栏

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

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

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

Android滑动菜单演示

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

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

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

我在上面的回答中没有看到令人惊叹的SimonVT/android-menudrawer。这里有一个链接

https://github.com/SimonVT/android-menudrawer

它非常容易使用,你可以把它放在左边,右边,上面或下面。非常好的文档,包括示例代码和Apache 2.0许可证。