PlayN: добавить текстовое поле TriplePlay в специальную позицию
У меня есть простой фоновый слой:
@Override
public void wasAdded() {
super.wasAdded();
Image bgImage = PlayN.assets().getImage("images/Welcome.png");
ImageLayer bgLayer = graphics().createImageLayer(bgImage);
layer.add(bgLayer);
Image usernameButton =
PlayN.assets().getImage("images/textField.png");
ImageLayer usernameLayer =
graphics().createImageLayer(usernameButton);
usernameLayer.setTranslation(197, 337);
layer.add(usernameLayer);
}
}
И я хотел бы добавить элемент текстового поля в определенную позицию (над изображением имени пользователя).
final Field field = new Field();
field.text.update("your name");
Как мне этого добиться? Благодарю.
1 ответ
Решение
Мне нужно создать корень AbsoluteLayout и добавить группу в определенной позиции:
_root = iface.createRoot(new AbsoluteLayout(), SimpleStyles.newSheet(), layer);
_root.setSize(width(), height());
Group group = new Group(new AbsoluteLayout()).add(AbsoluteLayout.at(new Field("username"), 197, 337));
_root.add(AbsoluteLayout.at(group, 0, 0));