如何以编程方式更改值文件?

时间:2013-10-18 21:16:17

标签: android colors

在我的colors.xml文件中,我有一个定义的值,例如:

<color name="red">#ffff0000</color>

如何以编程方式将值更改为其他颜色?

2 个答案:

答案 0 :(得分:0)

来自另一个主题的帮助:

您需要了解的一点是,当您将数据作为资源提供时,在运行时无法修改。例如,在drawable文件夹中的drawables无法在运行时修改。确切地说,无法以编程方式修改“res”文件夹。

这也适用于Strings.xml,即“Values”文件夹。如果您想要一个必须在运行时修改的String,请创建一个单独的类,并将您的字符串放在此类中并在运行时访问。这是我找到的最佳解决方案。

Change value of R.string programically 感谢Andro Selva

答案 1 :(得分:-1)

您可以在color.xml中使用这两种颜色,并在显示/活动焦点之前更改它。

<color name="red">#ffff0000</color>
<color name="blue">#0000FF</color>

使用画布:

Paint paint = new Paint();
if(shouldBeRed()) {
  paint.setColor(R.color.red);
} else {
  paint.setColor(R.color.blue);
}
canvas.drawRect(rect, paint);

@ user2779837你想在哪里改变颜色?