2016-10-14 3 views
0

私はテキストフィールドのフォントサイズを変更する方法を探していたと私はstackoverflowの上、この解決策を見つけた:Java - Libgdx:テキストフィールドのフォントサイズを変更するには?

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

ここで私はあなたの質問に対する答えを見つけました。http://stackoverflow.com/questions/30185704/font-size-in-textfield-libgdx – m3hrad

+0

はい、それは私が見つけたものです、私はそこに言ったが、それは私の問題を解決しません。 –

答えて

0

あなたが投稿した解決策とあなたのコードは、ほぼ同じです。

Skinを使用してTextFieldを作成しています。 TextFieldStyleを使用してTextFieldを作成することもできます。新品のTextFieldStyleを作成する代わりに、図のようにして、Skinから既存のものを入手することができます。

あなたのコードは、次にようになります。

TextField.TextFieldStyle textFieldStyle = skin.get(TextField.TextFieldStyle.class); 
textFieldStyle.font.scale(1.6f); 

réponse = new TextField("", textFieldStyle); 

これはSkinを使用してTextFieldを作成するときに舞台裏で何が起こっているのかをほぼ正確です。

public TextField (String text, Skin skin) { 
    this(text, skin.get(TextFieldStyle.class)); 
} 

あなたはそれが基本的にやっていることを確認することができます:ここでlibGDXのコードからTextField(String, Skin)のコンストラクタです

TextButtonStyle style = skin.get(TextFieldStyle.class); 
textField = new TextField(text, style); 

は、そしてそれはあなたの新しいコードと同じものです。

+0

textFieldStyle.font.scale(); .scale() –

+0

私の経験上、読み込まれたフォントのサイズは実際には変更できません。まず、フォントサイズを大きくするだけでいいのですか? – grimrader22

関連する問題