2013-03-19 25 views
6

我無法弄清楚如何管理複選框圖像大小。當然,可以在我的紋理圖集中創建不同大小的圖像並採取適當的圖像,但我不想這樣做。在libgdx UI中設置複選框圖像的大小

這裏是我的代碼:

AtlasRegion checkboxOn = AssetsHelper.textures.findRegion("checked"); 
AtlasRegion checkboxOff = AssetsHelper.textures.findRegion("unchecked"); 
CheckBoxStyle checkBoxStyle = new CheckBoxStyle(); 
checkBoxStyle.font = AssetsHelper.font66yellow; 
checkBoxStyle.checkboxOff = checkboxOff; 
checkBoxStyle.checkboxOn = checkboxOn; 
CheckBox cbSound = new CheckBox(" Sound", checkBoxStyle); 

cbSound對象不具備這樣的方法來rezise複選框的形象,但有方法的getImage(),但似乎它並沒有工作過。 這不是工作:

cbSound.getImage().width = 120; 
cbSound.getImage().height = 120; 

FYI:例如,當我想吸引像我不喜歡的是:

batch.draw(textureRegion, 0, 0, widthIwant, heightIwant); 

但在CheckBox類有overrided只有這個(沒有設置寬度和高):

public void draw (SpriteBatch batch, float parentAlpha) { 
    image.setRegion(isChecked ? style.checkboxOn : style.checkboxOff); 
    super.draw(batch, parentAlpha); 
} 

問題:我怎樣才能改變複選框圖像的寬度和高度?

在此先感謝。

回答

7

libgdx小部件使用drawables繪製圖像。可提拉被自動縮放到適合的細胞是在於是爲了改變圖像大小,改變細胞的大小:

cbSound.getCells().get(0).size(widht, height); 

爲了獲得更好的效果,你應該使用九個補丁的繪製。

+0

非常感謝,但是還需要爲演員'cbSound.height = height'設置高度,因爲如果不是將會是可以大點擊的區域(如真實區域高度)。 – Aleksandrs 2013-03-20 19:44:45