如何将两个不同的样式应用于android中的一个元素?

我有一个TextView,我想要应用一个我用于所有TextView元素的Style,再加上另一个我只在特定的Activity中使用的样式。 有没有可能做到这一点?

Solutions Collecting From Web of "如何将两个不同的样式应用于android中的一个元素?"

Android下的风格可以有父风格。

所以只需要MyActivityTextViewMyActivityTextView定义为父types,并更改/添加样式属性。

然后,您可以使用MyActivityTextView来查看一些视图,而使用MyActivityTextView来查看其他视图。

在“ 定义样式”中对此进行了介绍。

只是一小块信息,可能会增加问题的整体价值 – 无耻地复制: http : //developer.android.com/guide/topics/ui/themes.html#DefiningStyles

如果您想从自己定义的样式inheritance,则不必使用父属性。 相反,只需将要inheritance的样式的名称作为新样式的名称(用句点分隔)即可。 例如,要创build一个inheritance上面定义的CodeFont样式的新样式,但是将颜色设为红色,则可以像这样创build新样式:

  <style name="CodeFont.Red"> <item name="android:textColor">#FF0000</item> </style> 

请注意,标记中没有父属性,但是由于name属性以CodeFont样式名称(这是您创build的样式)开头,此样式将inheritance该样式的所有样式属性。 然后,此样式将覆盖android:textColor属性以使文本变为红色。 你可以参考这个新风格@风格/ CodeFont.Red。

你可以继续像这样继续多次,只要你想,通过链接名称与句点。 例如,您可以将CodeFont.Red扩展为更大,使用:

 <style name="CodeFont.Red.Big"> <item name="android:textSize">30sp</item> </style> 

你可以在你的style.xml文件中扩展一个样式:

 <style name="current_weekday_white" parent="current_day_white"> <item name="android:textColor">#FFABAB</item> </style>