3 回答
TA贡献1802条经验 获得超10个赞
实际上,您可以为TextViews(以及大多数其他内置窗口小部件)设置默认样式,而无需执行自定义Java类或单独设置样式。
如果您查看themes.xmlAndroid源代码,将会看到许多小部件的默认样式的属性。关键是您在自定义主题中覆盖的textViewStyle(或editTextStyle等)属性。您可以通过以下方式覆盖它们:
创建一个styles.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="android:Theme">
<item name="android:textViewStyle">@style/MyTextViewStyle</item>
</style>
<style name="MyTextViewStyle" parent="android:Widget.TextView">
<item name="android:textColor">#F00</item>
<item name="android:textStyle">bold</item>
</style>
</resources>
然后只需将该主题应用于您的应用程序即可AndroidManifest.xml:
<application […] android:theme="@style/MyTheme">…
并且您的所有文本视图将默认使用中定义的样式MyTextViewStyle(在这种情况下,为粗体和红色)!
此功能已在API级别4以上的设备上进行了测试,并且效果很好。
TA贡献1875条经验 获得超3个赞
对于中的默认文本颜色TextView,请android:textColorTertiary在您的主题中将其设置为所需的颜色:
<item name="android:textColorTertiary">@color/your_text_color</item>
可以使用框架属性控制其他许多Android控件的颜色,如果使用支持库,则可以使用支持库属性。
对于您可以设置属性的列表,请查看Android源代码的styles.xml和themes.xml,或者这个非常有用的要点丹卢,尝试改变每个值,看看它们改变屏幕上的内容。
- 3 回答
- 0 关注
- 512 浏览
添加回答
举报