有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Actionbar,带有每个选项卡的菜单

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

iphone app

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

现在我想做的是这样的:

安卓 app

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

如何在每个选项卡中显示不同的菜单,如果可能,如何使选项卡显示在最上面

提前谢谢


共 (1) 个答案

  1. # 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) {
    
     }