【问题标题】:how to change text color for whole app programatically in android如何在android中以编程方式更改整个应用程序的文本颜色
【发布时间】:2014-12-22 11:06:08
【问题描述】:

我想为整个应用程序设置文本颜色,我正在做的是,我创建了颜色选择器,当用户从颜色选择器中选择颜色时,应该为整个应用程序设置所选颜色,我不知道如何这样做..我是 android 新手

 This is my rgb code..
 String rgbString = "R: " + Color.red(color) + " B: " + Color.blue(color) + " G: " + Color.green(color);

【问题讨论】:

标签: android rgb


【解决方案1】:

您可以创建一个自定义 TextView ,即检查设置。 这里is a tutorial for it

【讨论】:

  • 但我想设置整个应用程序的文本颜色
  • 自定义文本视图将在颜色设置更改时更新。每次创建自定义文本视图时,它都会检查文本应该是什么颜色。当颜色改变时,你不应该忘记重新加载或更新当前视图
  • 对迟到的反应感到痛心,我创建了文本视图、按钮和编辑文本,我想更改所有这些组件的颜色..
  • 也许你应该为它创建主题 stackoverflow.com/questions/18301554/… 就是一个例子
【解决方案2】:

创建一个颜色属性并将其存储在 SharedPreferences 中,并将您的整个应用程序与该颜色相关联。当用户从颜色选择器中选择颜色时,只需更改该颜色的 SharedPreferences 属性即可。

为什么要使用 SharedPreferences

因为您不能在运行时修改资源。现在完整的应用程序文本颜色将被更改。

textview.setTextColor(Color.argb(0,200,0,0)) //r,g,b and fourth parameter is optional 

sharedPreferences 中存储三个 int 变量 r,g,b 并按上述方式设置。不需要第四个参数

【讨论】:

  • 如何将此颜色设置为整个应用程序
  • 您需要为所有TextView 设置颜色,如答案所示...没有捷径只有一行将更改为整个应用程序文本颜色..
  • 如果颜色是固定的,你可以创建Custom Textview并在应用程序中使用它。但正如你所说,用户将从颜色选择器中选择颜色,该颜色将设置为textView..那么您需要手动为所有 textview 编写代码。
  • 我认为你必须为它创建一个自定义主题
猜你喜欢
  • 2012-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 2011-07-31
  • 2017-05-16
相关资源
最近更新 更多