LibGDX ImageButton图像不按比例?

时间:2014-03-16 04:03:01

标签: java resize libgdx imagebutton

screenshot of image

红色方块是按钮的边界,而图像保持居中于32x32px。我尝试使用button.getImage()将位置和大小设置为按钮的值,但它似乎没有任何效果。

3 个答案:

答案 0 :(得分:5)

只需使用常规Button即可。它的背景也包含一个Drawable,但是它总是被拉伸以填充按钮。请参阅JavaDoc for ImageButton

  

...如果图像是按钮的大小,则可以使用没有任何子项的按钮,其中Button.ButtonStyle.upButton.ButtonStyle.downButton.ButtonStyle.checked九个修补程序定义图像

请注意,这些实际上不需要9个补丁;任何Drawable都可以。

答案 1 :(得分:2)

可能超级晚了,但你试过了吗?

yourButton.getImage().setFillParent(true);

答案 2 :(得分:0)

扩展@xitnesscomplex的答案: 您可以使用yourButton.getImage().setFillParent(true);来设置大小。

设置偏移量有点违反直觉

ImageButton.ImageButtonStyle style = new ImageButton.ImageButtonStyle();
style.imageUp = new TextureRegionDrawable(new Texture(Gdx.files.internal(btn.png")));
ImageButton yourButton = new ImageButton(style);
style.unpressedOffsetX = -new_brush.getWidth()/4.0f;
style.unpressedOffsetY = -new_brush.getHeight()/4.0f;
style.pressedOffsetX = -new_brush.getWidth()/4.0f;
style.pressedOffsetY = -new_brush.getHeight()/4.0f;
style.checkedOffsetX = -new_brush.getWidth()/4.0f;
style.checkedOffsetY = -new_brush.getHeight()/4.0f;
yourButton.getImage().setFillParent(true);