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

有人知道怎么实现吗?

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

YouTube视频


当前回答

不能评论@Paul Grime给出的答案,无论如何,我已经在他的github项目上提交了闪烁问题的修复....

我会在这里发布修正,也许有人需要它。您只需要添加两行代码。动画下面的第一个。setAnimationListener电话:

anim.setFillAfter(true);

在app.layout()调用之后的第二个函数:

app.clearAnimation();

希望这对你有所帮助。

其他回答

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

快照:

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

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

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

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

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

Android滑动菜单演示

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

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

2012年6月,谷歌在Eclipse ADT插件中添加了“模板”,有一个称为“主/细节流”的模板,它正是这样做的(基于片段)。

Facebook Android应用可能是使用Fragments构建的。菜单是一个片段,深度活动(Newsfeed/Events/Friends等)是另一个片段。基本上是手机上的平板电脑“master & detail”布局。