2013-03-19 34 views
6

Tôi không thể tìm ra cách quản lý kích thước hình ảnh hộp kiểm. Tất nhiên, nó có thể tạo ra kích thước khác nhau của hình ảnh trong bản đồ Texture của tôi và có một thích hợp, nhưng tôi không muốn làm điều đó.Đặt kích thước cho hình ảnh hộp kiểm trong giao diện người dùng libgdx

Đây là mã của tôi:

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 đối tượng không có phương pháp như vậy để rezise hình ảnh của hộp kiểm, nhưng có phương pháp getImage(), nhưng dường như nó không hoạt động quá. Đây không phải đang làm việc:

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

FYI: ví dụ, khi tôi muốn vẽ hình ảnh tôi đã làm như thế:

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

Nhưng trong lớp CheckBox có được overrided chỉ này (mà không thiết lập chiều rộng và chiều cao):

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

Câu hỏi: làm thế nào tôi có thể thay đổi chiều rộng và chiều cao của hình ảnh checkbox?

Xin cảm ơn trước.

Trả lời

7

Tiện ích libgdx đang sử dụng các bản vẽ để vẽ hình ảnh. Một drawable được tự động thu nhỏ để phù hợp với các tế bào đó là trong Vì vậy, để thay đổi kích thước hình ảnh, thay đổi kích thước tế bào.

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

Để có kết quả tốt hơn, bạn nên sử dụng một bản vá chín cho các drawable.

+0

Cảm ơn rất nhiều, nhưng cũng cần đặt chiều cao cho diễn viên 'cbSound.height = height', bởi vì nếu không phải là khu vực có thể nhấp lớn (như chiều cao vùng thực). – Aleksandrs

Các vấn đề liên quan