带有Drawer + Toolbar + Fragments的Android App模板

时间:2015-02-13 15:09:12

标签: android android-fragments navigation-drawer android-toolbar android-navigation

我是老练的Android开发人员,我在新的棒棒糖基础设施方面遇到了一些麻烦,我想点燃一个非常通用的讨论,这将导致一个非常强大且有效的项目模板,我认为很多将受益。 (我认为这将是微不足道的,但我采取的每一种方法都会发现很多陷阱) 想象一下,我有一个带导航抽屉(A片段)的应用程序,允许我从5个顶级片段中选择一个。

其中3个共享一个常见的工具栏行为,例如Google日历应用程序,当用户点击工具栏中的微调器时,向下滑动内容并在内容上方显示日期选择。

但是3片段需要在工具栏中提供不同的按钮(应该设置为ActionBar)

另外两个人不需要这种常见行为,但我提醒您确实需要提供对导航抽屉的访问权

我想保持简短的问题,不要用我厌倦的不同方法污染阅读思维,我觉得这是一个非常常见的应用程序骨架。

如果您有任何建议,最好先尝试一下。

注意:我坚持使用工具栏,因为它允许更高的开发自由

1 个答案:

答案 0 :(得分:1)

@Mldc发现了一个不错的例子'项目如何做到这一点。 此外,从片段动态添加操作按钮到工具栏并不困难。

请参阅github上的示例项目(https://github.com/danigonlinea/NavDra-material

Screenshot

有一个很好的教程,介绍如何使用工具栏here

从链接:(您可以根据显示的片段使用不同的菜单资源文件)

  

最后,我们调用inflateMenu()来膨胀menu resource file。这将在工具栏中显示操作项。

     

我们需要包含Toolbar类的setOnMenuItemClickListener()方法,以便在选择菜单的Action项时进行侦听:

     

Toolbar Action item click listener

     

我们将监听器附加到独立工具栏。它会在选择菜单项时进行侦听,并触发其onClick()方法。这里我们包含一个Toast消息,以便在选择Action项时显示。