2012-12-13 70 views
1

我跟着從這裏的答案:StackOverflow: How to change the font size of tabhost in android安卓:更改TabHost字體大小在Widget.Holo.TabWidget

它的工作,但我失去了河洛主題,並得到一箇舊的默認主題來代替。所以,我試過如下:

<resources> 
<style name="AppBaseTheme" parent="android:Theme.Holo.NoActionBar.Fullscreen"> 
    <!-- API 14 theme customizations can go here. --> 
    <item name="android:tabWidgetStyle">@style/CustomHoloTabWidget</item> 
</style> 
<style name="CustomHoloTabWidget" parent="@android:style/Widget.TabWidget"> 
    <!-- Custom item for text appearance --> 
    <item name="android:textAppearance">@style/CustomTabWidgetText</item> 
    <!-- End --> 
    <item name="android:tabStripLeft">@null</item> 
    <item name="android:tabStripRight">@null</item> 
    <item name="android:tabStripEnabled">false</item> 
    <item name="android:divider">?android:attr/dividerVertical</item> 
    <item name="android:showDividers">middle</item> 
    <item name="android:dividerPadding">8dip</item> 
    <item name="android:measureWithLargestChild">true</item> 
    <!-- Following line results in ERROR --> 
    <item name="android:tabLayout">@android:layout/tab_indicator_holo</item> 
    <!-- End --> 
</style> 
<!-- Custom text appearance item definition --> 
<style name="CustomTabWidgetText" parent="@android:style/TextAppearance.Widget.TabWidget"> 
    <item name="android:textSize">36sp</item> 
    <item name="android:textStyle">bold</item> 
</style> 
<!-- End --> 

基本上我做了什麼是編輯Widget.Holo.Tabwidget可用[email protected]:1801的原始定義爲包括textAppearance一個自定義的定義。

我得到以下錯誤:

error: Error: No resource found that matches the given name: attr 'android:tabLayout'.

我只是想改變標籤的標題的字體大小,同時保持全息主題。

回答

15

試試這一次

for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) { 
     TextView tv = (TextView) tabHost.getTabWidget().getChildAt(i).findViewById(android.R.id.title); 
     tv.setTextSize(23); 
    } 
+0

感謝瑪達維。這當然有效。我想知道是否有辦法通過xml來完成它? 如果我想進一步自定義選項卡的外觀(從Holo主題繼承),那麼在Java中執行它看起來很麻煩。 – janakagamini

+1

在我的最後,我得到一個空指針。 – princepiero

+0

完美運作。 –