我有一个TextView,我想应用一个Style用于所有TextView元素以及另一个我只在特定Activity中使用的样式。有没有可能这样做?
答案 0 :(得分:21)
可能会增加问题整体价值的一小部分信息 - 无耻地复制:http://developer.android.com/guide/topics/ui/themes.html#DefiningStyles
如果要继承自己定义的样式,则不必使用parent属性。相反,只需将要继承的样式的名称添加到新样式的名称前面,并用句点分隔。例如,要创建一个继承上面定义的CodeFont样式但是将颜色设置为红色的新样式,您可以像这样创建新样式:
<style name="CodeFont.Red">
<item name="android:textColor">#FF0000</item>
</style>
请注意,标记中没有父属性,但由于name属性以CodeFont样式名称(您创建的样式)开头,因此该样式将继承该样式的所有样式属性。然后,此样式将覆盖android:textColor属性以使文本变为红色。您可以将此新样式引用为@ style / CodeFont.Red。
通过将名称与句点链接,您可以根据需要继续这样多次继承。例如,您可以将CodeFont.Red扩展为更大,使用:
<style name="CodeFont.Red.Big">
<item name="android:textSize">30sp</item>
</style>
答案 1 :(得分:14)
Android下的样式可以有父样式。
所以只需将MyActivityTextView
定义为GeneralTextView
作为父样式,然后更改/添加样式属性。
然后,您可以将MyActivityTextView
用于某些观看,将GeneralTextView
用于其他观看次数。
在Defining Styles中描述了它。
答案 2 :(得分:4)
您可以在style.xml中扩展一种样式:
<style name="current_weekday_white" parent="current_day_white">
<item name="android:textColor">#FFABAB</item>
</style>