TextColor vs TextColorPrimary vs TextColorSecondary

2022-09-03 12:50:16

就整个应用的文本而言,这些都包含哪些内容?

更具体地说,在我的应用中,主题中的每一个都会更改哪些内容?我希望我的按钮文本与我的文本视图的颜色不同;是一个主要的,另一个是次要的?

任何与这些条款相关的信息都是值得赞赏的!


答案 1

TextColor 只是一个 xml 属性,用于为任何给定视图的文本设置颜色。

文本颜色主要文本是启用的按钮和大文本视图的默认文本颜色。

文本颜色二级是中小文本视图的默认文本颜色。

忽略这一点,至于你想做什么,有更好的方法。您希望编辑样式.xml以使默认主题 AppTheme(或您在清单中声明为主题的任何其他主题)包含自定义文本颜色所需的 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 将为所有文本视图设置默认颜色。buttonStyle 将引用您希望用于所有按钮的自定义样式。要实现此目的,请将此样式标签添加到样式.xml文件中。

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

答案 2

推荐