TextColor、TextColorPrimary和TextColorSecondary的区别

15
这些术语在应用程序中都包含哪些文本?更具体地说,如果我在主题中更改这些术语,会对我的应用程序中的哪些内容产生影响?我想让按钮文本与文本视图的颜色不同;它们中有一个是主要的,另一个是次要的吗?欢迎提供与这些术语相关的任何信息!
1个回答

26

TextColor是一种XML属性,可以为任何给定视图的文本设置颜色。

TextColorPrimary是启用按钮和大号TextView的默认文本颜色。

TextColorSecondary是中号和小号TextView的默认文本颜色。

忽略这个,因为有更好的方法可以达到你想要的效果。你需要编辑你的style.xml文件,使得默认主题AppTheme(或者你在manifest文件中声明的其他主题)包含必要的XML属性来自定义你的文本颜色。

当你完成后,生成的AppTheme样式将如下所示。

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:textColor">#hexColorForTextViews</item>
    <item name="android:buttonStyle">@style/myDefaultButton</item>
</style>

textColor将设置所有TextView的默认颜色。buttonStyle将引用您想要为所有按钮使用的自定义样式。要使此工作正常,请将此样式标签添加到styles.xml文件中。

<style name="myDefaultButton">
    <item name="android:textColor">#hexColorForButtons</item>
    <!-- other stuff you want your buttons to inherit by default -->
</style>

现在有了主题,这就不再是一个好答案或最佳答案了。 - JPM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接