TabHost Android使文字大胆

时间:2013-01-01 04:05:21

标签: android android-layout android-intent android-style-tabhost

我正在寻找文字Bold的方法,基本上Tab Host使Text Bold。

示例图片如下

enter image description here

以下是我的代码。

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);
            }
        }
   });

2 个答案:

答案 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);

希望这有帮助。