中的独立菜单
Independent menus in
我有一个 Master-Detail Activity 包含两个片段:"A"(master)和 "B"(detail),每个片段在自己的工具栏中都有自己的菜单选项。 B 使用 CoordinatorLayout 具有 Material 设计效果。
如何在每个工具栏中放置不同的菜单?每次我要求充气时,他们都会复制两个片段中的菜单。即 A 有 1 和 2。B 有 3 和 4。创建片段后,A 有 1,2,3,4,B 有 1,2,3,4。查看问题:
我想将搜索和标签图标放在左侧片段的工具栏中,将 phone 和邮件图标放在右侧片段的工具栏中。
片段有自己的方式来告诉 activity 它们有自己的选项菜单,所以当您决定是否应该在 Master 中并排显示两个片段时,Detail 时尚传递一个额外的告诉片段来使用它的菜单然后执行:
- 让每个片段调用
setHasOptionsMenu(true)
告诉 Activity 调用 onCreateOptionsMenu(Menu menu, MenuInflater menuInflater)
.
- 在每个片段中覆盖
onCreateOptionsMenu(Menu menu, MenuInflater menuInflater)
并处理 onOptionsItemSelected(MenuItem menuItem)
中片段的点击
否则使用 setHasOptionsMenu(false)
,当未使用 Master Detail 时,并使用承载 Master 或 Detail Fragments
的每个 Activity 扩充菜单
我有一个 Master-Detail Activity 包含两个片段:"A"(master)和 "B"(detail),每个片段在自己的工具栏中都有自己的菜单选项。 B 使用 CoordinatorLayout 具有 Material 设计效果。
如何在每个工具栏中放置不同的菜单?每次我要求充气时,他们都会复制两个片段中的菜单。即 A 有 1 和 2。B 有 3 和 4。创建片段后,A 有 1,2,3,4,B 有 1,2,3,4。查看问题:
我想将搜索和标签图标放在左侧片段的工具栏中,将 phone 和邮件图标放在右侧片段的工具栏中。
片段有自己的方式来告诉 activity 它们有自己的选项菜单,所以当您决定是否应该在 Master 中并排显示两个片段时,Detail 时尚传递一个额外的告诉片段来使用它的菜单然后执行:
- 让每个片段调用
setHasOptionsMenu(true)
告诉 Activity 调用onCreateOptionsMenu(Menu menu, MenuInflater menuInflater)
. - 在每个片段中覆盖
onCreateOptionsMenu(Menu menu, MenuInflater menuInflater)
并处理onOptionsItemSelected(MenuItem menuItem)
中片段的点击
否则使用 setHasOptionsMenu(false)
,当未使用 Master Detail 时,并使用承载 Master 或 Detail Fragments