我一直在寻找如何更改文本字段的字体大小,我在stackoverflow上找到了这个解决方案:
TextField.TextFieldStyle textFieldStyle = skin.get(TextField.TextFieldStyle.class);
textFieldStyle.font.scale(1.6f);
问题是我不使用textfieldstyle,这是我的代码:
réponse = new TextField("", skin);
réponse.setPosition(stage.getWidth() / 2 - 445, stage.getHeight() / 1 - 1600);
réponse.setSize(900, 120);
stage.addActor(réponse);
réponse.setTextFieldListener(new TextField.TextFieldListener() {
@Override
public void keyTyped(TextField textField, char c) {
if(réponse.getText().equals("")){
réponse.setText("");
} else if(réponse.getText().equals("riviere")){
game.setScreen(new Stage1(game));
music.stop();
}
else if(!réponse.getText().equals("riviere")){
ecrireLeTexte = true;
}
}
});
也许是getStyle()的解决方案?
答案 0 :(得分:0)
您发布的解决方案和您现在拥有的代码几乎相同。
您正在使用TextField
创建Skin
。您还可以使用TextField
创建TextFieldStyle
。您可以按照显示的方式创建一个全新的TextFieldStyle
,而不是创建全新的Skin
。
您的代码将如下所示:
TextField.TextFieldStyle textFieldStyle = skin.get(TextField.TextFieldStyle.class);
textFieldStyle.font.scale(1.6f);
réponse = new TextField("", textFieldStyle);
使用TextField
创建Skin
时,这几乎就是幕后发生的事情。以下是来自libGDX代码的TextField(String, Skin)
的构造函数:
public TextField (String text, Skin skin) {
this(text, skin.get(TextFieldStyle.class));
}
你可以看到它本质上在做:
TextButtonStyle style = skin.get(TextFieldStyle.class);
textField = new TextField(text, style);
这与您的新代码相同。