当谈到libGDX中的UI时,您会发现它与以前使用的(yaml,json,xml,UI Builders等)非常不同。
表布局 -这是Scene2d UI的结构和格式。您提供的链接是一个很棒的教程,但是当您意识到时,需要皮肤来完成大多数事情。
LibGDX皮肤
-包括3件事,一个纹理包图像,一个纹理包文件和一个用于设置样式的Json。您也可以像您一样以编程方式生成它们,但是我发现,简单地从文件中加载它们并使用它们要容易得多。如果您想了解有关如何制作或编辑皮肤的更多信息,请点击此链接:皮肤。
现在,回到您得到的异常。这是因为您创建的外观没有用于描述各种UI元素样式的json。在上述异常的情况下,文本字段内的标签没有默认样式。
您可以简单地使用tests文件夹中提供的模板:
- Atlaspack文件
- 杰森文件
- Atlaspack图片
- 字体图片
- 字体文件
将这些文件放在android项目的资产文件夹中。然后,您可以使用一行代码轻松加载此皮肤:
Skin uiSkin = new Skin(Gdx.files.internal("uiskin.json"));这将缺少制作TextField对象的信息,以及一堆其他默认样式:
com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle: { default: { font: default-font, fontColor: white },}希望这可以帮助您入门。还有许多其他小事情,因此不要害怕查看Wiki
上的Scene2d.UI文章以了解更多信息。
注意: 您可以使用
gdx-tools工件来立即使用默认的UI外观(当您急于使UI可见时,它对于非常小的/简单的应用程序,调试非常有用。等)。



