2013-03-19 7 views
6

Non riesco a capire come gestire le dimensioni delle immagini delle caselle di controllo. Naturalmente, è possibile creare diverse dimensioni dell'immagine nel mio atlante Texture e prenderne una appropriata, ma non voglio farlo.Imposta dimensioni per l'immagine della casella di controllo nell'interfaccia utente libgdx

Ecco il mio codice:

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 oggetto non ha tali metodi per rezise immagine della casella di controllo, ma non c'è il metodo getImage(), ma sembra che non funziona troppo. Questo non funziona:

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

FYI: per esempio, quando ho voluto attirare l'immagine che ho fatto così:

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

Ma in classe CheckBox c'è overrided solo che questa (senza impostare la larghezza e altezza):

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

domanda: come posso cambiare la larghezza e l'altezza dell'immagine casella di?

Grazie in anticipo.

risposta

7

I widget libgdx utilizzano i drawable per disegnare le immagini. Un drawable viene ridimensionato automaticamente per adattarsi alla cella è in Quindi, al fine di modificare la dimensione dell'immagine, modificare la dimensione delle celle:.

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

Per ottenere risultati migliori, è necessario utilizzare una patch nove per drawable.

+0

Grazie mille, ma anche bisogno di impostare l'altezza per attore 'cbSound.height = height', perché se non di quello sarà grande regione cliccabile (come altezza reale della regione). – Aleksandrs

Problemi correlati