7

Używam ActionBarShrelock do zapewnienia prętów akcji dla urządzeń o strukturze plastra miodu. Mam następujący kod w moim pliku themes.xml ...Jak stylizować tekst zakładki ActionaBar w systemie Android?

<style name="My.Tab.Style" parent="@android:style/Widget.TabWidget"> 
     <item name="android:textAppearance">@style/MyCustomTabTextStyle</item> 
    </style> 

    <style name="MyCustomTabTextStyle" parent="Widget.Sherlock.ActionBar.TabText"> 
     <item name="android:textAppearance">@android:style/TextAppearance.Medium</item> 
     <item name="android:textSize">14sp</item> 
     <item name="android:textStyle">bold</item> 
     <item name="android:textColor">@color/tabbar_text_color</item> 
    </style> 

niż ja to wykorzystać go jako

<item name="android:actionBarTabTextStyle">@style/My.Tab.Style</item> 
<item name="actionBarTabTextStyle">@style/My.Tab.Style</item> 

Może ktoś wyjaśnić, dlaczego ja dostaję jakiś cień na ostatnich liter Tab ? Jak mogę się tego pozbyć? plz help .. Próbowałem wszystkiego, ale że cień jest zawsze tam ..

enter image description here

Odpowiedz

20

I rozwiązać problem przy użyciu niestandardowego stylu.

  1. Najpierw stworzyłem własny styl

    <style name="My.TabText.Style" parent="@style/Widget.Sherlock.ActionBar.TabText">  
        <item name="android:textAppearance">@android:style/TextAppearance.Medium</item> 
        <item name="android:textSize">16sp</item> 
        <item name="android:textStyle">bold</item> 
        <item name="android:textColor">@color/tabbar_text_color</item> 
        <item name="android:textAllCaps">false</item> 
        <!-- <item name="android:ellipsize">none</item> --> 
        <item name="android:maxLines">1</item> 
    </style> 
    
  2. niż kiedyś, że styl w moim tematem

    <item name="actionBarTabTextStyle">@style/My.TabText.Style</item> 
    <item name="android:actionBarTabTextStyle">@style/My.TabText.Style</item> 
    
+0

Ktoś proszę sformatować moją odpowiedź ... Nie jestem w stanie tego zrobić .. – aProgrammer

+0

Atrybut 'android: textAllCaps' został wprowadzony w API-14, który unieważni to rozwiązanie na platformach Pre-Ice Cream Sandwich. Nadal szukam działającego rozwiązania, na przykład API-11 (po prostu ommitowanie części "android:" nie działa z jakiegoś powodu). Odnośnik: http://developer.android.com/reference/android/R.attr.html#textAllCaps – dbm

+1

@dbm ActionBarSherlock API używał tylko urządzeń poprzedzających ICS (4.0.0). Powyższy kod dotyczy tylko urządzeń poprzedzających ICS. Czy używasz API ActionBarShelock w swoim projekcie? – aProgrammer

1

O ile wiem ActionBar Shelock używa tego samego od normalnego pasku akcji. Opierając się na tym założeniu:

poprzednia odpowiedź dałem ActionBar text color

i generator http://jgilfelt.github.com/android-actionbarstylegenerator/

+0

że to doskonała odpowiedź .. Ale czy to naprawdę rozwiązać mój problem .. Jak widać na zdjęciu już zmienił wszystko w actionbar (tło, textColor, TEXTSIZE itd.). Jedynym problemem jest zachowanie tekstu (SIGN IN i Join Meeting) na kartach. Dlaczego ich efekt jest wyjątkowy? Jak mogę się tego pozbyć? – aProgrammer

0

W wartościach folder Dodaj

<item name="actionBarTabTextStyle">@style/My.TabText.Style</item> 

W katalogu wartości-V14

<item name="android:actionBarTabTextStyle">@style/My.TabText.Style</item> 
Powiązane problemy