【问题标题】:Display fragment outside Tabs在选项卡外显示片段
【发布时间】:2014-03-13 16:48:47
【问题描述】:

我有 3 个选项卡,带有片段 A B C.。每个片段都会在其继承中启动其他片段,例如 A 启动 A1 .. A1 启动 A2。从 A2 您可以返回 A1 并返回 A。这一切正常,但是片段 A1 和 A2 放置在选项卡内。我的问题是,我可以在没有选项卡的情况下显示片段 A1 和 A2 吗?

【问题讨论】:

    标签: android android-fragments tabs


    【解决方案1】:

    使用要显示的 Fragment 创建一个新的 FragmentActivity 并启动 Activity

    【讨论】:

    • 这不是一种可行的方法,因为我想轻松地浏览后台堆栈。例如 A2 - >A1->A 所以创建另一个活动来托管这些片段不是一个选项
    • 为什么不呢?按下后退按钮将带您回到您留下的片段的标签活动
    • 这意味着我需要另外 6 个活动来托管标签,我试图避免这种情况。有没有办法隐藏标签?
    • 我猜你可以尝试将 visibility=gone 设置为标签,但我不确定你是否会成功
    【解决方案2】:

    感谢@commonsWare,我找到了我想要的东西。在第二组片段中,即 A1,B1,C1 我在 onActivityCreated 之后添加了以下行

    getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
    

    这工作正常,主要片段之后的所有片段都说 A1,A2,An 都在没有选项卡的情况下呈现。接下来我添加了这一行

    public void onResume() {
          super.onResume();
          if(getActivity().getActionBar().getNavigationMode()==ActionBar.NAVIGATION_MODE_STANDARD){
                getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
            }
    }
    

    这使我可以从 A1 中恢复片段 A 并仍然让它显示选项卡。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-20
      • 1970-01-01
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-19
      • 1970-01-01
      相关资源
      最近更新 更多