【发布时间】:2012-06-27 10:25:10
【问题描述】:
这是我用来设置标签主机中标签之间分隔符的代码。
mTabHost.getTabWidget().setDividerDrawable(R.drawable.tabdivider);
但它没有显示在模拟器中。在 SO 上四处搜索让我找到了很多关于此的帖子,但我无法找到完美的解决方案。
这方面的任何帮助/建议都会非常有帮助。
【问题讨论】:
这是我用来设置标签主机中标签之间分隔符的代码。
mTabHost.getTabWidget().setDividerDrawable(R.drawable.tabdivider);
但它没有显示在模拟器中。在 SO 上四处搜索让我找到了很多关于此的帖子,但我无法找到完美的解决方案。
这方面的任何帮助/建议都会非常有帮助。
【问题讨论】:
TabHost 在 android api 级别 11 及以后被弃用。
尝试使用ActionBar。
更多详情请见this。
更新:
请参阅this,在ICS 中使用setDrawable。
更新: 如果你想在所有安卓版本上使用标签,你可以使用以下代码:
if (android.os.Build.VERSION.SDK_INT >= 11) {
// setup action bar for tabs
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setDisplayShowTitleEnabled(false);
Tab tab = actionBar.newTab()
.setText(R.string.artist)
.setTabListener(new TabListener<ArtistFragment>(
this, "artist", ArtistFragment.class));
actionBar.addTab(tab);
tab = actionBar.newTab()
.setText(R.string.album)
.setTabListener(new TabListener<AlbumFragment>(
this, "album", AlbumFragment.class));
actionBar.addTab(tab);
} else {
// put your TabHost code here...
}
这应该放在你的onCreate() 方法中。
【讨论】: