Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带3个片段的Android工具栏_Android - Fatal编程技术网

带3个片段的Android工具栏

带3个片段的Android工具栏,android,Android,我花了很多时间搜索新工具栏的使用。 我正在尝试开发一个包含1个活动和3个片段的应用程序。该活动有一个带有工具栏的布局和一个可以容纳片段的容器。 问题是:是否可以在活动中定义一次工具栏并与3个片段共享,或者每个片段必须在各自的布局中定义自己的工具栏 我正在使用appcompat,该活动扩展了ActionBarActivity 我在Android方面有中等技能,非常感谢您的关注。片段就像一个可插入的子活动,每个片段实例都必须由一个活动管理,尽管每个片段都有自己的生命周期回调,但其生命周期直接受其宿主

我花了很多时间搜索新工具栏的使用。 我正在尝试开发一个包含1个活动和3个片段的应用程序。该活动有一个带有工具栏的布局和一个可以容纳片段的容器。 问题是:是否可以在活动中定义一次工具栏并与3个片段共享,或者每个片段必须在各自的布局中定义自己的工具栏

我正在使用appcompat,该活动扩展了ActionBarActivity


我在Android方面有中等技能,非常感谢您的关注。

片段就像一个可插入的子活动,每个片段实例都必须由一个活动管理,尽管每个片段都有自己的生命周期回调,但其生命周期直接受其宿主活动的生命周期影响和决定。您可以使用水平滑动视图组(如
ViewPager
)将任意多个片段插入到活动中,例如Facebook应用程序,它有4个片段,它们包装在
ViewPager
视图组中。一句话,添加到公共活动中的每个片段都将具有相同的UI,如ActionBar或Toolbar等。希望这有帮助

谢谢您的快速回答。我理解你对生命周期和回调的解释。然而,我不是使用一个视图组而是使用一个导航抽屉来调用每个片段,我认为它也可以工作。还有一个问题:工具栏侦听器将停留在活动中,并且可以正常听到所有事件,对吗?导航抽屉是通过使用
DrawerLayout
小部件创建的,它是
视图组的子部件。工具栏是为android版本21及更高版本添加的新API,它与操作栏非常相似(如果您熟悉操作栏),事实上,您可以通过调用方法
Activity.setActionBar()
,使工具栏的行为类似于操作栏,但工具栏提供了比传统操作栏更多的功能。我认为你应该熟悉操作栏、操作菜单等,这将大大有助于更好地理解工具栏……谷歌提供了一个关于操作栏的优秀教程,我强烈建议你从头到尾阅读。单击…回答您上面的问题,“工具栏侦听器将保留在活动中,并且可以正常听到所有事件,对吗?”只要您的侦听器未被破坏,那么是的,它将听到您注册到它的任何事件。我忘了一件事,工具栏API还有一个支持版本,可用于运行android 2.2版(或2.3版记不清)Eclair及以上版本的设备。你给了我一个很好的解释。我不能投票,因为我还没有足够的声誉。非常感谢你。