我有一个消息项的背景,我希望根据文本进行拉伸。但是当我做到这一点时:
Drawable drawableButtonMessageUp = new TextureRegionDrawable(new TextureRegion(new Texture("data/message_my_g.9.png")));
ButtonStyle buttonStyleMessage = new ButtonStyle();
buttonStyleMessage.up = drawableButtonMessageUp;
Button buttonMessage = new Button(buttonStyleMessage);
Label labelMessage = new Label("", new LabelStyle(game.fonts[0], new Color(0, 0, 0, 1)));
buttonMessage.add(labelMessage);
背景不是NinePath,它像普通图片一样存在: 我的结果:
我想要(例子):
项目背景:
我检查了Android SDK中的九个补丁图片,这项工作很好,我怎么能在libGDX中做到这一点?
答案 0 :(得分:2)
这是因为你没有使用NinePatch,你正在使用TextureRegion
您可能想要更改行
Drawable drawableButtonMessageUp = new TextureRegionDrawable(new TextureRegion(new Texture("data/message_my_g.9.png")));
类似
Drawable drawableButtonMessageUp = new NinePatchDrawable(new NinePatch(new Texture("data/message_my_g.9.png"), 1, 1, 1, 1));
注意数字" 1"这是一个占位符。您可能需要使用这些数字才能使九点看起来正确。
有关详细信息,请查看文档,尤其是instantiating ninepatches
部分