我正在寻找文字Bold的方法,基本上Tab Host使Text Bold。
示例图片如下
以下是我的代码。
tabHost.setOnTabChangedListener(new OnTabChangeListener()
{
@Override
public void onTabChanged(String tabId)
{
if (tabId.equals("READING"))
{
for(int i=0;i< tabHost.getTabWidget().getChildCount();i++)
{
//unselected
tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#E6A9EC"));
}
// selected
tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.WHITE);
}
else
{
for(int i=0;i< tabHost.getTabWidget().getChildCount();i++)
{
//unselected
tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#E6A9EC"));
}
// selected
tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.WHITE);
}
}
});
答案 0 :(得分:1)
您可以在自定义主题更改
中设置样式<item name="android:tabWidgetStyle">@android:style/Widget.TabWidget</item>
和
<style name="Widget.TabWidget">
<item name="android:textAppearance">@style/TextAppearance.Widget.TabWidget</item>
<item name="android:ellipsize">marquee</item>
<item name="android:singleLine">true</item>
</style>
<style name="TextAppearance.Widget.TabWidget">
<item name="android:textSize">14sp</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@android:color/tab_indicator_text</item>
</style>
答案 1 :(得分:1)
我发现这是最简单的方法:
将标签添加到TabHost后,请执行以下操作:
TextView textView = (TextView) tabHost.getTabWidget().getChildAt(i)
.findViewById(android.R.id.title);
'i'只是新标签的索引。在我的情况下,我使用for循环。 在那之后它很简单,只需这样做:
textView .setTypeface(null, Typeface.BOLD);
希望这有帮助。