如何在Android应用程序中设置所有文本的文本颜色?
我想为我的android应用程序定义一个默认的文本颜色。
我有一个基本的活动课,所有的活动都从它延伸,我认为这可能是一个很好的地方来定义颜色。
如果不是什么更好的解决scheme? 也许样式?
麻烦是这个,对我来说都是新鲜的,所以随时给我build议,并提供代码片段和解释。
这是我的基类看起来像。 你可以看到它很空
package com.ccslocal.mobile.quiz.jls; import android.app.Activity; import android.os.Bundle; public class BaseActivity extends Activity { //set up app preferences here }
是的,你是对的,你可以使用风格。 或者,您可以使用TextView.getTextColors()。getDefaultColor()设置默认文本颜色。 其实我从来没有用过这个,但我想这可能会对你有所帮助。
风格
<style name="TextColor"> <item name="android:textColor">#00FF00</item> </style>
然后在布局文件中
<TextView style="@style/TextColor" />
正如denis.solonenko的答案中提到的,正确的做法是修改你的主题。
在你定义主题的地方(在你的themes.xml或styles.xml文件中),你需要添加如下的东西:
<style name="AppTheme" parent="@style/Theme.AppCompat.Light"> ... <item name="android:textColor">#FF00FF</item> ... </style>
然后确保主题应用于清单中的“活动”或“应用程序”:
<application ... android:theme="@style/AppTheme" .... >
你也可以定义:
- textColor – 任何给定视图的默认文本颜色
- textColorPrimary – 启用的button和大文本视图的默认文本颜色
- textColorSecondary – “中小文字视图”的默认文本颜色
- textColorTertiary – ?
(来源TextColor与TextColorPrimary与TextColorSecondary )
请记住,许多其他事情可能会覆盖这些预定义的颜色,例如在不同的资源文件夹中应用的样式或定义。
请参阅此处查看主题项目的完整列表: https : //android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/values/themes.xml
为您的应用程序创build自定义主题。 看看官方指南 。
像这样在你的res/values/colors.xml
设置你的默认颜色
<color name="defaultTextColor">#ffffff</color>
所以这个颜色给你的所有文字
android:textColor="@color/defaultTextColor"
要么
textView.setTextColor(R.color.defaultTextColor);