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

Android 如何以编程方式更改值文件?,android,colors,Android,Colors,在我的colors.xml文件中,我定义了一个值,例如: <color name="red">#ffff0000</color> #ffff0000 如何通过编程将值更改为其他颜色?另一个线程的帮助: 这里需要了解的一点是,当您将数据作为资源提供时,不能在运行时对其进行修改。例如,在运行时无法修改可绘制文件夹中的可绘制内容。准确地说,“res”文件夹不能通过编程进行修改 这也适用于Strings.xml,即“Values”文件夹。如果您想要在运行时修改字符串,请创建一

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

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

如何通过编程将值更改为其他颜色?

另一个线程的帮助:

这里需要了解的一点是,当您将数据作为资源提供时,不能在运行时对其进行修改。例如,在运行时无法修改可绘制文件夹中的可绘制内容。准确地说,“res”文件夹不能通过编程进行修改

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


Thx到Andro Selva

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

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

@用户2779837您想在哪里更改颜色?

您不能。您必须在代码中以编程方式使用另一个值。但在这种情况下,您使用的是颜色而不是字符串ofc
Paint paint = new Paint();
if(shouldBeRed()) {
  paint.setColor(R.color.red);
} else {
  paint.setColor(R.color.blue);
}
canvas.drawRect(rect, paint);