我想做一个按钮,它的前景色调在被点击后会改变颜色。如果一个名为lot1的变量是假的,它将变成红色,如果是真的,它将变成绿色。然而,当我试图这样做时,我发现我不能调用属性 "foregroundTint",但我可以调用类似的属性,如foregroundTintList和foregroundTintMode。但是我需要把foregroundTint的值从@color/lotDefault改为@color/lotWin,或者把@color/currentTint的值从一种颜色改为另一种。我似乎不知道如何从一个函数中做到这一点。
下面是我尝试输入时显示的foregroundTint属性的选项
但是我只想改变foregroundTint。我的下一个猜测是使用一个变量,我已经试过了,但不能让它工作,我如何创建一个公共变量,把颜色作为一个值,可以在colors.xml、 activity_main.xml和MainActivity.kt中调用?我试着在MainActivity中做了
public var currentColor ="@color/lotDefault"
,在activity_main中做了
var currentColor = MainActivity().currentColor
,但就是不工作。另外,我知道我应该把改变颜色的代码移到win()和loss()函数中去,只是在截图的时候我还没有这样做。
如果您对这些解决方案有任何帮助,我们将不胜感激,特别是如果您能以我这样的初学者能够理解的方式来解释。提前感谢。