【问题标题】:Android ActionBar: show/hide tabs dynamically?Android ActionBar:动态显示/隐藏标签?
【发布时间】:2013-04-30 11:36:30
【问题描述】:

是否可以从操作栏中动态删除/恢复标签栏?

到目前为止,我通过更改操作栏的导航模式来做到这一点。我使用以下代码删除和恢复标签栏:

@Override 
public void restoreTabs() {     
    getSupportActionBar()
    .setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    this.supportInvalidateOptionsMenu();
}

@Override
public void removeTabs() {      
    getSupportActionBar()
    .setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
    this.supportInvalidateOptionsMenu();
}

这可行,但有一个大问题:每次我调用 setNavigationMode 时,onTabSelected 都会在 TabListener 中调用,并且当前打开的选项卡会重新创建。

【问题讨论】:

    标签: android android-actionbar actionbarsherlock android-tabs


    【解决方案1】:

    要动态删除操作栏标签,您只需要:

    getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
    

    要即时添加它们,只需执行以下操作:

    getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    

    对于第二种情况,假设在设置导航模式后,你还会在操作栏中添加选项卡,类似这样:

    for (int resourceId : tabs) {
            actionBar.addTab(actionBar.newTab().setText(resourceId)
                    .setTabListener(this));
    }
    

    【讨论】:

      【解决方案2】:
      public void onDrawerClosed(View view) {
          getActionBar().setTitle(mTitle);
          // calling onPrepareOptionsMenu() to show action bar icons
          getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
          invalidateOptionsMenu();
      }
      
      public void onDrawerOpened(View drawerView) {
          getActionBar().setTitle(mDrawerTitle);
          // calling onPrepareOptionsMenu() to hide action bar icons
          getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
          invalidateOptionsMenu();
      }
      

      【讨论】:

        【解决方案3】:

        这是按预期工作的,因为选项卡被选中是因为它没有出现。 我建议你自己做 TabListener 中的控件。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-04-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多