2010-08-10 9 views
7

ich eine Klasse haben, TextViewStyled, die TextviewAndroid anwenden Stil, um benutzerdefinierte Textview

In meinem Thema XML erweitert, wie bewerbe ich mich um einen Stil, um alle meine TextViewStyled Widgets auf Aktivitäten mit einem gewählten Thema?

Ich habe dieses einfaches Thema, aber ich mag den Black Gold Stil Widgets TextViewStyled begrenzen, ohne im TextViewStyled style-Attribute des Black Gold angeben. Dies ist eines von vielen Themen, die dynamisch umgeschaltet werden .:

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

Antwort

2

Ich fand, dass die Stile Aktualisierung funktioniert, wenn die Basis textview Klasse nach dem inflation Ereignis überschrieben.

+0

wie aktualisieren Sie den Stil? – schwiz

+0

können Sie bitte Code zur Verfügung stellen, wie Sie es tun? oder was du reinstellst ??? Marken nauman

2

Um den Stil für Textviews in Ihrem benutzerdefinierten Thema verwenden den Namen "android: textViewStyle": zu setzen

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

es gefunden, wenn sie durch den offiziellen Android themes.xml [click] suchen.

9

Für AppCompat Thema (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

sollte sei 'CustomTextView' anstatt' PizzaSizeWidget'? –