我试图创建一个drawable(ninepatch),并在textfieldstyle中完成了这个
greenTextFieldStyle.cursor = getSkin().getDrawable("textFieldCursor1");
但我看不到任何光标......
这是当前的光标图像,我也试过1 * 20的图像但没有成功。
它基本上是一个3 * 3的图像,中间是+,而九点是外面的点。
答案 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;
}