2010-08-10 7 views
7

J'ai une classe, TextViewStyled, qui étend TextViewAndroid de style appliquer à TextView personnalisé

Dans mon XML thème, comment puis-je appliquer un style à tous mes TextViewStyled widgets sur les activités avec un thème choisi?

J'ai ce thème simple, mais je veux limiter le style Black Gold à TextViewStyled Widgets sans spécifier l'or noir dans l'attribut de style TextViewStyled. Ceci est l'un des nombreux thèmes qui seront mis dynamiquement .:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="MyThemeOneofMany" parent="android:Theme.NoTitleBar.Fullscreen"> 
    <item name="android:???????????">@style/TextViewStyled_Black_Gold</item> 
    </style> 

    <style name="TextViewStyled_Black_Gold" parent="@android:style/Widget.TextView">    
      <item name="android:background">#1E1921</item>   
      <item name="android:textColor">#A85E4F</item> 
      <item name="android:textColorLink">#FFBC4F</item> 
      <item name="android:textStyle">normal</item>    
     </style> 


</resources> 

Répondre

2

Je trouve que la mise à jour des styles fonctionne en surchargeant la classe de base textview après l'événement inflation.

+0

comment voulez-vous mettre à jour le style? – schwiz

+0

pouvez-vous s'il vous plaît fournir le code, comment vous le faites? ou ce que vous mettez ??? marques nauman

2

Afin de définir le style de TextViews dans votre thème personnalisé utiliser le nom "android: textViewStyle":

<style name="MyThemeOneofMany" parent="android:Theme.NoTitleBar.Fullscreen"> 
    <item name="android:textViewStyle">@style/TextViewStyled_Black_Gold</item> 
</style> 

Je l'ai trouvé en regardant à travers l'themes.xml android officiel [click].

9

Pour appcompat thème (2.3.3+):

<!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="android:textViewStyle">@style/PizzaSizeWidget</item> 
    </style> 

    <style name="CustomTextView" parent="@android:style/TextAppearance.Widget.TextView"> 
     <item name="android:background">#1E1921</item> 
     <item name="android:textColor">#A85E4F</item> 
     <item name="android:textStyle">normal</item> 
     <item name="android:textSize">93sp</item> 
    </style> 
+1

devrait être 'CustomTextView' au lieu de' PizzaSizeWidget'? –