点击时更改TextButton的字体颜色?

3
我已经阅读了关于scene2d UI功能的一些教程和文档,但我无法弄清楚皮肤是如何工作的。我只想要一个TextButton,在按下时改变颜色。我设法改变了TextButton的背景,但那不是我想要的。它应该没有背景。
如果有人能提供一个示例,说明如何实现这个目标,我将非常感激。这似乎是非常简单的,所以我认为我在这里漏掉了一些显而易见的东西。如果需要使用皮肤,请以编程方式编写。
谢谢。
2个回答

8
原来这很简单,只是第一次尝试时不起作用。
在定义TextButtonStyle时,您可以将downFontColor赋值为您希望文本在被按下时显示的颜色。您还可以将checkedFontColor分配为您希望文本在按下时在两种颜色之间切换的颜色。
示例:
TextButtonStyle textButtonStyle = new TextButtonStyle();
textButtonStyle.font = someBitmapFont;
textButtonStyle.fontColor = Color.WHITE;
textButtonStyle.downFontColor = Color.BLACK;
//Optional color to toggle between when pressed
textButtonStyle.checkedFontColor = Color.GREEN;
final TextButton textButton = new TextButton("Text", textButtonStyle);

这将产生一个白色的TextButton,当它被按下时会变成黑色。当鼠标/触摸释放时,它会根据开关状态变成绿色或白色。


0

你也可以对它进行着色,但效果取决于基础颜色(如果是白色,则效果完美,否则就要看情况而定)。无论如何,操作步骤如下:

button.getLabel().setColor(myColor);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接