2010-08-10 52 views
7

我有一个类,TextViewStyled,延伸TextView的的Android应用样式定制的TextView

在我的主题XML,我怎么样式应用到所有我TextViewStyled的活动部件与所选择的主题?

我有这个简单的主题,但我想限制黑金的风格为TextViewStyled小部件没有在TextViewStyled样式属性中指定黑金。这是许多主题之一将被动态切换:

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

回答

2

我发现,更新的样式inflation事件之后重写基textview类时的作品。

+0

你怎么更新的风格? – schwiz 2010-12-26 06:01:32

+0

可以请你提供代码,你是怎么做到的?或者你放什么?标记<样式名称= “MyThemeOneofMany” 父= “机器人:Theme.NoTitleBar.Fullscreen”> <项名称= “机器人:???????????”> @风格/ TextViewStyled_Black_Gold – nauman 2016-05-27 12:42:38

2

为了设置TextViews的风格自定义主题使用的名称“机器人:textViewStyle”:

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

翻翻官方Android的themes.xml [click]时发现了它。

9

对于程序兼容性主题(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

应是'CustomTextView'而不是'PizzaSizeWidget'? – 2017-11-16 23:42:02