我有一个活动,其中包含一组TabSpec,每个TabSpec都有一个listview,其中包含选项卡要显示的项目.创建每个TabSpec时,我设置一个图标显示在选项卡标题中.
TabSpecs以这种方式在一个setupTabs()循环创建适当数量的选项卡的方法中创建:
TabSpec ts = mTabs.newTabSpec("tab");
ts.setIndicator("TabTitle", iconResource);
ts.setContent(new TabHost.TabContentFactory(
{
public View createTabContent(String tag)
{
...
}
});
mTabs.addTab(ts);
Run Code Online (Sandbox Code Playgroud)
有几个实例我希望能够在执行程序期间更改每个选项卡中显示的图标.目前我正在删除所有选项卡,并再次调用上面的代码来重新创建它们.
mTabs.getTabWidget().removeAllViews();
mTabs.clearAllTabs(true);
setupTabs();
Run Code Online (Sandbox Code Playgroud)
有没有办法替换正在显示的图标而不删除并重新创建所有选项卡?
我是徽章概念的新手.在我的应用程序中,我想在一个选项卡上显示徽章.为此,我使用android-viewbadger.jar文件Android ViewBadger, 它正常工作4个标签,
TabWidget tabs = (TabWidget) findViewById(android.R.id.tabs);
badge1 = new BadgeView(this, tabs, 1);
badge1.setText("155");
badge1.setBadgePosition(BadgeView.POSITION_BOTTOM_RIGHT);
badge1.toggle();
Run Code Online (Sandbox Code Playgroud)

当我在这里添加一个标签时,它看起来像这样

我已经使用这些徽章属性
badge1.setPadding(left, top, right, bottom);
badge1.setTextSize(15);
badge1.setBadgeMargin(5,5);
badge1.setWidth(10);
Run Code Online (Sandbox Code Playgroud)