Ваше мнение верное. Для каждой кнопки, которая требует другого стиля, вам понадобится другой TextButtonStyle
.
TextButtonStyle styleOne = new TextButtonStyle();
styleOne.up = ...someDrawable1
TextButtonStyle styleTwo = new TextButtonStyle();
styleTwo.up = ...someDrawable2
TextButton button1 = new TextButton("Button1", styleOne);
TextButton button2 = new TextButton("Button2", styleTwo);
Если вы обнаружите, что вы используете один и тот же набор стилей снова и снова, вы можете создать static
стили и использовать их для кнопок.
public class Styles {
public static final TextButtonStyle styleOne = new TextButtonStyle();
public static final TextButtonStyle styleTwo = new TextButtonStyle();
public static void initStyles() {
styleOne.up = ...
styleTwo.up = ....
}
}
Затем позвоните по номеру Styles.initStyles()
, когда вы загрузили свои активы.
Если вы хотите настроить каждый стиль, но по-прежнему использовать набор атрибутов стиля по умолчанию, вы можете попробовать что-то вроде этого:
public class Styles {
public static TextButtonStyle createTextButtonStyle(Drawable up, Drawable down) {
TextButtonStyle style = new TextButtonStyle();
style.up = up;
style.down = down;
style.font = Assets.getDefaultFont() //For example
style.fontColor = Assets.getDefaultFontColor() //For example
}
}
Затем, когда вы хотите создать кнопку, вы можете просто сделать:
TextButton button = new TextButton("Text", Styles.createTextButtonStyle(drawable1, drawable2));
Надеюсь, что это поможет очистить некоторые вещи.