新的Facebook应用程序和它的导航太酷了。我只是想看看如何在我的应用程序中模仿它。
有人知道怎么实现吗?
点击左上角按钮,页面滑动,显示如下画面:
YouTube视频
新的Facebook应用程序和它的导航太酷了。我只是想看看如何在我的应用程序中模仿它。
有人知道怎么实现吗?
点击左上角按钮,页面滑动,显示如下画面:
YouTube视频
当前回答
对于信息,因为兼容性库开始1.6和这个facebook应用程序也运行在设备与Android 1.5,它不能用碎片。
The way you could do it, is : Create a "base" activity BaseMenuActivity where you put all the logic for the onItemClickListener for your menu list and defines the 2 animation ("open" and "close"). At the end/beginning of the animations, you show/hide the layout of the BaseMenuActivity (lets call it menu_layout). The layout for this activity is simple, its only a list with items + a transparent part at the right of your list. This part will be clickable and its width will be the same width as your "move button". With that, you'll be able to click on this layout to start the animation to let the content_layout slide to the left and take the whole screen. For each option (i.e. item of the menu list), you create a "ContentActivity" which extends the BaseMenuActivity. Then when you click on an item of the list, you start your ItemSelectedContentActivity with the menu visible (which you'll close as soon as your activity starts). The layouts for each ContentActivity are FrameLayout and includes the and . You just need to move the content_layout and make the menu_layout visible when you want.
这是一种方法,我希望我讲得够清楚了。
其他回答
我在上面的回答中没有看到令人惊叹的SimonVT/android-menudrawer。这里有一个链接
https://github.com/SimonVT/android-menudrawer
它非常容易使用,你可以把它放在左边,右边,上面或下面。非常好的文档,包括示例代码和Apache 2.0许可证。
我在这里做一些大胆的猜测……
我假设它们有一个表示不可见的菜单的布局。当点击菜单按钮时,它们会在顶部移动布局/视图,并简单地启用菜单布局的可见性。我没有想过这会在视图中引起任何类型的z索引问题,或者他们如何控制它。
我刚刚为我自己的项目实现了类似的视图。你可以在这里查看
下面是基于我写的库的示例应用程序的屏幕:
使用这个自定义视图作为XML布局的元素是很容易的。这里有一个例子:
<shared.ui.actionscontentview.ActionsContentView
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:actions_layout="@layout/actions"
app:content_layout="@layout/content" />
如果你对ActionsContentView库的使用有任何疑问,我可以在项目Wiki上写一篇小文章。
这个库的一些优点:
通过触摸滑动视图的能力 在XML中很容易调整动作栏的大小 支持2.0及以上的所有Android SDK版本
但有一个限制:
所有水平滚动视图都不能在此视图的边界上工作
最好的问候, 史蒂文
我用AbsoluteLayout和一个简单的滑动控制器实现了这一点,它可以将视图移动到一个负偏移来隐藏。
如果有人感兴趣,我可以清理代码/布局和发布。我知道AbsoluteLayout被弃用了,但它是一个非常直接的实现。左视图/右视图,当“滑动打开”时,只需将左视图从- x偏移量移出到设备的宽度-任何你想显示的右视图
随着android支持包修订版13(2013年5月),有了用于创建导航抽屉的DrawerLayout,可以从窗口边缘拉入。导航抽屉现在是一种设计模式。
V4支持库
导航抽屉设计模式