(如何设置)/(无法看到)Libgdx中Textfield上的光标?

时间:2014-01-23 16:13:22

标签: java user-interface libgdx textfield

我试图创建一个drawable(ninepatch),并在textfieldstyle中完成了这个

greenTextFieldStyle.cursor = getSkin().getDrawable("textFieldCursor1");

但我看不到任何光标......

这是当前的光标图像,我也试过1 * 20的图像但没有成功。

It's really small

它基本上是一个3 * 3的图像,中间是+,而九点是外面的点。

1 个答案:

答案 0 :(得分:3)

使用getSkin().newDrawable("textFieldCursor1",Color.green)并为其添加最小宽度greenTextFieldStyle.cursor.setMinWidth(2f);

这里是一个完整的皮肤包含“选择框架”:

Skin skin = new Skin();
skin.add(
        "background",
        new NinePatch(this.game.manager.get("hud/ninepatchframe.png",
                Texture.class), 5, 5, 5, 5));
skin.add("cursor", this.game.manager.get("data/cursor.png"));

TextFieldStyle tStyle = new TextFieldStyle();
tStyle.font = getDefaultFont(25); //here i get the font
tStyle.fontColor = Color.BLACK;
tStyle.background = skin.getDrawable("background");
tStyle.cursor = skin.newDrawable("cursor", Color.GREEN);
tStyle.cursor.setMinWidth(2f);
tStyle.selection = skin.newDrawable("background", 0.5f, 0.5f, 0.5f,
        0.5f);

this.nameField = new TextField("enter name here", tStyle);

这是我如何获得位图字体。我正在使用extansion from libgdx.ttf创建它。 看一下如何添加nativ文件的链接。

这里的代码如何使用它:

public BitmapFont getDefaultFont(int size) {
    FreeTypeFontGenerator generator = new FreeTypeFontGenerator(
            Gdx.files.internal("fonts/font.ttf"));
    defaultFont = generator.generateFont(size + 5); //some offset
    return defaultFont;
}