带有每个选项卡菜单的操作栏

时间:2014-05-02 07:42:36

标签: java android android-layout android-fragments android-actionbar

您好我正在使用ActionBar选项卡创建类似于iPhone的选项卡式应用程序。 iPhone应用程序底部有标签,顶部有操作栏菜单项。像这样:

iphone app

如果我们可以在iPhone应用程序中调用它,您会看到“今日”和“时间轴”按钮如何位于操作栏的顶部。

现在我试图做的就是这样:

android app

您可以看到选项卡位于顶部,并且显示的操作栏中的唯一菜单是设置ActionBar并将片段添加为选项卡的主要活动的菜单。

如何在每个标签中显示不同的菜单,如果可能,使标签显示为最顶层。

提前致谢。

1 个答案:

答案 0 :(得分:1)

让您的活动实现OnTabChangeListener。

然后在标签更改

上覆盖以下方法,如下所示
@Override
 public void onTabChanged(String tabId) {
  // TODO Auto-generated method stub

  invalidateOptionsMenu();
 }

然后你必须根据所选的标签创建一个新菜单,如下所示

  @Override
 public boolean onCreateOptionsMenu(Menu menu) {

  final String currentTab = mTabHost.getCurrentTabTag();
  if (currentTab.equals("TimeLine")) {
   getMenuInflater().inflate(R.menu.timeline, menu);
  } else if (currentTab.equals("Calendar")) {
   getMenuInflater().inflate(R.menu.calendar, menu);
  }
  return true;
 }

根据以下方法中的标签ID处理您的菜单项选择

 @Override
 public boolean onOptionsItemSelected(MenuItem item) {

 }