带抽屉+工具栏+碎片的Android应用程序模板

带抽屉+工具栏+碎片的Android应用程序模板,android,android-fragments,navigation-drawer,android-toolbar,android-navigation,Android,Android Fragments,Navigation Drawer,Android Toolbar,Android Navigation,我是一名经验丰富的Android开发人员,我在新的棒棒糖基础设施方面遇到了一些麻烦,我想引发一场非常一般的讨论,这将导致一个功能强大、工作正常的项目模板,我认为很多人都会从中受益。 我认为这将是微不足道的,但我采取的每一种方法都会发现很多陷阱 想象一下,我有一个带有导航抽屉的应用程序,一个允许我从5个顶级片段中选择一个的片段 其中3个共享一个常见的工具栏行为,例如,当用户单击工具栏中的微调器时,会将内容向下滑动,并在内容上方显示日期选择 然而,3片段需要在工具栏中提供不同的按钮,这些按钮应该设置

我是一名经验丰富的Android开发人员,我在新的棒棒糖基础设施方面遇到了一些麻烦,我想引发一场非常一般的讨论,这将导致一个功能强大、工作正常的项目模板,我认为很多人都会从中受益。 我认为这将是微不足道的,但我采取的每一种方法都会发现很多陷阱 想象一下,我有一个带有导航抽屉的应用程序,一个允许我从5个顶级片段中选择一个的片段

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

然而,3片段需要在工具栏中提供不同的按钮,这些按钮应该设置为ActionBar

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

我想简短地回答这个问题,不想用我厌倦的不同方法污染读者的头脑,我觉得这是一个相当常见的应用程序框架

如果你有一个建议,最好先试试


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

@Mldc找到了一个很好的“示例”项目来说明如何做到这一点。 此外,从片段中动态地向工具栏添加操作按钮并不困难

请参见github上的示例项目

关于如何使用工具栏有一个很好的教程

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

最后,我们调用inflateMenu来为a充气。这将在工具栏中显示操作项

我们需要包括Toolbar类的setOnMenuItemClickListener方法,以便在选择菜单的操作项时侦听:

我们将侦听器附加到独立工具栏。它会在选择菜单项时侦听,从而触发其onClick方法。在这里,我们包含了一条Toast消息,在选择操作项时显示该消息


我也遇到过类似的情况,我最终使用了一个片段作为工具栏。这不会给你提供更大的开发自由度吗?而不是工具栏操作栏?不太可能,因为我仍然想使用操作按钮和充气菜单等。。我希望得到一个通用的高质量解决方案,工具栏提供了很好的灵活性是的,如果有人写了一个好的教程,那就太好了。投票通过这个问题,以增加它发生的机会。同样,我不认为教程是这里需要的,更多的是一个可定制的模板。。如果你只是将Android Studio向导作为侧抽屉,你仍然需要tonz做大量的工作才能得到这样的东西