2

在 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”,而不是保持其原始图像大小。

在此处输入图像描述

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

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

任何帮助将不胜感激。

4

1 回答 1

2

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

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

代替:

table.add(playButton);

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

于 2014-04-06T00:25:49.070 回答