您好我正在使用ActionBar选项卡创建类似于iPhone的选项卡式应用程序。 iPhone应用程序底部有标签,顶部有操作栏菜单项。像这样:
如果我们可以在iPhone应用程序中调用它,您会看到“今日”和“时间轴”按钮如何位于操作栏的顶部。
现在我试图做的就是这样:
您可以看到选项卡位于顶部,并且显示的操作栏中的唯一菜单是设置ActionBar并将片段添加为选项卡的主要活动的菜单。
如何在每个标签中显示不同的菜单,如果可能,使标签显示为最顶层。
提前致谢。
答案 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) {
}