选项卡式视图中的Android选项卡式视图

时间:2014-01-23 21:09:59

标签: android android-tabs

是否可以在选项卡式视图中显示选项卡式视图,如下图所示?我已经设置了一个基本的选项卡视图,但我无法在其中创建另一个选项卡式视图(下面一个)

绿色部分代表Relativelayout

http://i.imgur.com/Qk6RE1k.png

编辑:我尝试使用ViewPagers,然后应用程序似乎崩溃了 https://stackoverflow.com/questions/21339922/tabbed-view-within-a-tabbed-view

2 个答案:

答案 0 :(得分:2)

您可以实现fragments创建一个独特的片段,并将其放置在相同的LinearLayout中,其方向为vertical。您可以在片段内使用查看器。

答案 1 :(得分:1)

您可能需要为内部选项卡式视图创建自己的选项卡。制作一个片段,其中三个按钮的样式看起来像标签,然后是下面的frameLayout。每次用户单击按钮时,将frameLayout中的片段替换为所需的片段。

编辑:以标准方式实施标签。请查看此链接,例如:http://www.vogella.com/tutorials/AndroidActionBar/article.html#actionbar_navigation_tab

在您的活动视图中,有两个布局。顶部的relativeLayout和底部的frameLayout。当用户单击选项卡时,更改frameLayout中的片段。例如:

// Set up the action bar to show tabs.
final ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

// for each of the sections in the app, add a tab to the action bar.
actionBar.addTab(actionBar.newTab().setText(R.string.title_section1)
    .setTabListener(this));
actionBar.addTab(actionBar.newTab().setText(R.string.title_section2)
    .setTabListener(this));
actionBar.addTab(actionBar.newTab().setText(R.string.title_section3)
    .setTabListener(this));

然后在onClick方法中做类似的事情:

    @Override
  public void onTabSelected(ActionBar.Tab tab,
      FragmentTransaction fragmentTransaction) {
    // When the given tab is selected, show the tab contents in the
    // container view.
    Fragment fragment = new DummySectionFragment();
    Bundle args = new Bundle();
    args.putInt(DummySectionFragment.ARG_SECTION_NUMBER,
        tab.getPosition() + 1);
    fragment.setArguments(args);
    getFragmentManager().beginTransaction()
        .replace(R.id.container, fragment).commit();  //Change R.id.container to be your frame layout!!
  }

但仅改变框架布局,不要触摸相对布局。

您放入frameLayout的片段将同样嵌套。它顶部会有一个按钮栏,里面有一个框架布局。当用户单击按钮时,将另一个片段放入frameLayout。