2015-08-06 2 views
2

Я прочитал несколько руководств и документации по возможностям пользовательского интерфейса scene2d, но я не могу понять, как работают скины. Я просто хочу, чтобы TextButton менял цвет при нажатии. Мне удалось изменить фон TextButton, но этого я не хотел. У него не должно быть фона.Изменить цвет шрифта TextButton по клику?

Я был бы очень признателен, если бы кто-нибудь мог привести пример того, как это можно сделать. Кажется, это очень просто, поэтому я думаю, что мне не хватает чего-то очевидного здесь. Если кожа задействована, напишите ее программно.

спасибо.

ответ

7

Оказывается, все было так просто, как я думал, это просто не сработало, когда я попробовал это в первый раз.

При определении типа 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, что чернеет при нажатии. Когда мышь/касание отпущена, она будет либо зеленой, либо белой, в зависимости от состояния переключателя.