2010-08-10 12 views
7

tengo una clase, TextViewStyled, que se extiende TextViewAndroid aplicar el estilo de Vista de Texto de encargo

En mi tema XML, cómo puedo aplicar un estilo a todos mis TextViewStyled widgets en actividades con un tema elegido?

Tengo este tema simple, pero quiero limitar el estilo Black Gold a TextViewStyled Widgets sin especificar el Black Gold en el atributo de estilo TextViewStyled. Este es uno de los muchos temas que se conmuta dinámicamente .:

<?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> 

Respuesta

2

me encontré con que la actualización de los estilos funciona cuando anulando la clase base textview después del evento inflation.

+0

¿Cómo se actualiza el estilo? – schwiz

+0

¿puede por favor proporcionar el código, cómo lo hace? o lo que pones ??? marcas nauman

2

Con el fin de definir el estilo del TextViews en el tema personalizado utilizar el "android: textViewStyle": nombre

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

lo encontró cuando se mira a través de la themes.xml androide oficial [click].

9

Para AppCompat tema (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

debe ser 'CustomTextView' en lugar de' PizzaSizeWidget'? –

Cuestiones relacionadas