由于设计原因,我正在将我的应用程序选项卡(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?
答案 0 :(得分:0)
我通常使用片段作为内容。你必须实现ActionBar.TabListener并在那里调整你的内容,但这很容易。您可以在开头添加所有片段并显示/隐藏它们,或者替换当前片段。