我是代号“ 1”的新手,并尝试设置TextView的前景色(文本)。将其设置为红色并在按下按钮后写文本即可。该代码在按钮的动作侦听器方法中执行:
mValueField.getStyle().setFgColor(0xFF0000); // set red color
mValueField.setText("Fill in!"); // write info text
将焦点设置到字段中后,文本应消失,颜色应再次变为黑色。该代码在TextField的focusGained()方法中执行:
mValueField.setText(""); // clear info text
mValueField.getStyle().setFgColor(0x000000); // set black color
问题是文本消失了,但是新字符仍然是红色而不是黑色。
有什么解决办法吗?
最佳答案
不要使用getStyle()
,它是为在paint()
或类似方法中使用而设计的。由于组件具有多个状态,因此您需要自定义每个单独的状态,例如getUnselectedStyle()
,getSelectedStyle()
等
或者,您可以使用getAllStyles()
一次调用将它们全部设置。