libGDX TextButton图像调整大小

时间:2014-04-03 03:34:38

标签: java user-interface libgdx scene2d

在libGDX中,我有一个像这样定义的TextButtonStyle:

TextButtonStyle style = new TextButtonStyle();
style.font = header;
style.up = Resources.guiSkin.getDrawable("buttonUp");
style.down = Resources.guiSkin.getDrawable("buttonDown");

我的TextButton定义如下:

TextButton textButton = new TextButton("text",style);

我将TextButton添加到这样的表中:

table.add(playButton);

该表配置为:(我已经使用和不使用此配置进行了测试,没有任何更改)

setFillParent(true);

我遇到的问题是TextButtonStyle的纹理,style.up和style.down,调整大小到按钮的文本。例如,如果我写" t"作为文本,style.up和style.down纹理将自己调整大小以仅围绕" t"而不是保持其原始图像大小。

enter image description here

在此图像中,不同长度的文本显示不同大小的按钮,尽管它们都是相同的纹理。此外,正如您所看到的,文本的末尾在按钮内部不符合要求,因为文本从一端延伸到另一端,从开始到结尾,当我真的希望它开始时在刚刚开始和结束之前结束。此外,文本位于图像的底部,看起来很尴尬。总的来说,整件事看起来很尴尬,我想知道是否有办法解决这个问题。

我的想法是,因为我使用非常小的图像作为按钮纹理(类似于34x11像素),按钮总是调整图像的大小。如果图像大于容纳文本所需的大小,则不会调整大小。但是,我使用的是像素主题按钮,最简单的方法是使用小图像,所以有什么方法可以绕过这个调整大小吗?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

尝试设置表格单元格的宽度:

table.add(playButton).width(100);

而不是:

table.add(playButton);

这可以解决背景图像的宽度问题。

相关问题