我有一个TextView,我想要应用一个我用于所有TextView元素的Style以及另一个我只在特定Activity中使用的样式。有没有可能做到这一点?如何将两种不同的样式应用于android中的一个元素?
回答
Android下的风格可以有父风格。
所以只需要MyActivityTextView
将GeneralTextView
定义为父类型,并更改/添加样式属性。
然后,您可以使用MyActivityTextView
获取某些视图,GeneralTextView
可以使用其他视图。
它在Defining Styles中描述。
您可以在style.xml与其他扩展一个风格:
<style name="current_weekday_white" parent="current_day_white">
<item name="android:textColor">#FFABAB</item>
</style>
嘿在那里我已经尝试过与文本视图,但只有第一种风格的作品,而不是扩展之一。任何线索? – 2014-11-22 04:30:03
只是一小块的信息可能会添加到问题的整体价值 - 从耍赖复制:http://developer.android.com/guide/topics/ui/themes.html#DefiningStyles
如果您想从您自己定义的样式继承,则不必使用父属性。相反,只需将要继承的样式的名称添加到新样式的名称中,并用句点分隔。例如,创建一个新的风格,继承了上述定义的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. 如何将不同的CSS样式应用于子元素?
- 2. 将两种不同的字体样式应用于TextView
- 3. 如何将多个XAML样式应用于一个元素?
- 4. 将样式应用于中继器中的第一个元素
- 5. 如何将样式应用于特定的一系列元素
- 6. 如何将':hover'元素样式应用于':: after'元素?
- 7. 将CSS样式应用于右侧的最后一个元素?
- 8. 如何将两个动画同时应用于同一个元素?
- 9. 如何不将样式应用于表格元素
- 10. 如何手动将特定样式表中的样式应用于元素?
- 11. 如何将样式应用于带有前缀ID的元素?
- 12. 将样式应用于特定元素不适用于Safari
- 13. 如何将类或样式应用于IE中的某个HTML元素?
- 14. 如何创建一个JComboBox,其元素每个都有两种不同的样式?
- 15. 如何在CK编辑器中将多个元素应用于单个样式
- 16. 如何使一个元素的样式依赖于另一个元素的样式
- 17. 如何动态地将样式表应用于Polymer 2元素?
- 18. 如何将自定义样式仅应用于特定元素?
- 19. 如何将样式应用于Bootstrap React元素?
- 20. 如何将样式应用于<HTML>元素?
- 21. 应用样式只有一个元素
- 22. 将样式应用于Silverlight 4中的子元素
- 23. 将CSS样式应用于DIV中的所有元素
- 24. Silverlight:将datacontext应用于样式中的元素
- 25. Html CSS - 将样式应用于类中的所有元素?
- 26. 如何重用两种不同绑定的样式?
- 27. 如何将元素分配到两个不同的集合中?
- 28. 将样式应用到动态列表的第一个元素
- 29. 使用包openxlsx应用于同一行的多种样式()
- 30. 根据另一个元素的样式更改元素样式,不使用javascript
哦,我明白了。太好了,非常感谢。还有一个问题:子样式是否也可以覆盖父属性? – Bruiser 2011-01-31 13:27:48
是的,它可以覆盖父属性。 – 2011-01-31 13:31:00