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

有人知道怎么实现吗?

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

YouTube视频


当前回答

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

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

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

Android滑动菜单演示

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

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

其他回答

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

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

下面是官方android文档中的设计和开发指南,不需要添加非官方的外部库。只有android支持库可以做到。在这里找到链接。

设计和开发。

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

更新:

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

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

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

link

作为我的Android公共库(ACL)的一部分,我实现了自己的侧边栏。 主要优点:

侧栏可以设置为任何位置:左,上,下,右 主视图和滑动视图都是可点击的 侧栏可以部分显示 侧边栏的可样式属性更容易更改它的样式 maven回购中的神器 一个大图书馆的一部分

源代码:https://github.com/serso/android-common/tree/master/views/src/main/java/org/solovyev/android/view/sidebar

用法:https://github.com/serso/android-common/blob/master/samples/res/layout/acl_view_layout.xml