当前位置: 首页 > 面试题库 >

TextColor vs TextColorPrimary vs TextColorSecondary

曹光霁
2023-03-14
问题内容

就整个应用程序而言,这些内容分别包含什么内容?

更具体地说,在主题中更改主题中的每个主题会改变我的整个应用程序吗?我希望按钮的文本颜色与我的文本视图颜色不同;是一个小学,另一个中学?

与这些条款有关的任何信息都将受到赞赏!


问题答案:

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

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

TextColorSecondary是中级和小型Textviews的默认文本颜色。

忽略这一点,至于您想要做什么,有更好的方法。您想要编辑style.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将为所有textview设置默认颜色。buttonStyle将引用您想要用于所有按钮的自定义样式。要使此工作有效,请将此样式标签添加到您的styles.xml文件中。

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


 类似资料:

相关阅读

相关文章

相关问答