在我的colors.xml文件中,我有一个定义的值,例如:
<color name="red">#ffff0000</color>
如何以编程方式将值更改为其他颜色?
答案 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你想在哪里改变颜色?