如何设置ActionBar Sherlock Tab?

时间:2012-10-26 20:48:52

标签: android tabs actionbarsherlock

由于设计原因,我正在将我的应用程序选项卡(API 7)切换到Action Bar Sherlock中使用的选项卡,但我不知道如何设置它。

这就是我以前的做法:

    tabH = (TabHost) findViewById(R.id.tabhost);

    tabH.setup();

    TabSpec espec = tabH.newTabSpec("tabONE");
    espec.setContent(R.id.tbhot);
    espec.setIndicator("A");
    tabH.addTab(espec);

    espec = tabH.newTabSpec("tabTWO");
    espec.setContent(R.id.tbrecente);
    espec.setIndicator("B");
    tabH.addTab(espec);

    espec = tabH.newTabSpec("tabTHREE");
    espec.setContent(R.id.tbcreate);
    espec.setIndicator("C");
    tabH.addTab(espec);

现在我正在做的事情:

getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    for (int i = 1; i <= 3; i++) {
        ActionBar.Tab tab = getSupportActionBar().newTab();
        if (i == 1)
            tab.setText("A");
        else if(i == 2)
            tab.setText("B");
        else if (i == 3)
            tab.setText("C");
        tab.setTabListener(this);
        getSupportActionBar().addTab(tab);
    }

这有效,但我不知道如何设置内容,因此所有标签都有相同的内容。我该怎么做?

另外,我的其他标签位于布局的底部。是否可以将此设置在底部?我相信如果我可以在新标签中设置TabHost,它也会在底部,所以问题是,如何在这里设置tabhost?

1 个答案:

答案 0 :(得分:0)

我通常使用片段作为内容。你必须实现ActionBar.TabListener并在那里调整你的内容,但这很容易。您可以在开头添加所有片段并显示/隐藏它们,或者替换当前片段。