Я рисую слайдер с Libgdx, используя следующий код:Libgdx слайдер - вводимый коэффициент рисуется неправильного размером
Pixmap pix = new Pixmap(200, 50, Pixmap.Format.RGBA8888);
pix.setColor(Color.BLACK);
pix.fill();
skin.add("sliderBackS", new Texture(pix));
Pixmap pix1 = new Pixmap(10, 70, Pixmap.Format.RGBA8888);
pix1.setColor(Color.RED);
pix1.fill();
skin.add("knobS", new Texture(pix1));
Slider.SliderStyle sliderStyle = new Slider.SliderStyle();
sliderStyle.disabledBackground = skin.newDrawable("sliderBackS");
sliderStyle.disabledKnob = skin.newDrawable("knobS");
sliderStyle.background = skin.newDrawable("sliderBackS");
sliderStyle.knob = skin.newDrawable("knobS");
skin.add("sunSlider", sliderStyle);
sunlightSlider = new Slider(0, 100, 1, false, sliderStyle);
stage.addActor(sunlightSlider);
sunlightSlider.setBounds(300, 300, 100, 10);
sunlightSlider.setDisabled(true);
sunlightSlider.setDebug(true);
А потом еще где:
stage.act(Math.min(Gdx.graphics.getDeltaTime(), 1/30f));
stage.draw();
Но по какой-то причине растровых изображений в ползунок, похоже, нарисован на их фактическом размере. Это можно увидеть на следующем рисунке (зеленая линия, что это должно быть, от отладки):
По какой-то причине ширина, кажется, ограничивается sunlightSlider.setBounds (300, 300, 100, 10); но высота этого не делает.
Я знаю, что я мог бы выбрать размер pixmap для того, что мне нужно, но я хочу использовать изображение из файла. Если я использую большое изображение, то он переполняет границы аналогичным образом.
Я хочу, чтобы он выглядел так, как будто он выше, но ограничен зеленым прямоугольником.
Что я делаю неправильно?
Спасибо! Я думаю, что я просто не понял setMinWidth (0) и т. Д. Также спасибо за другие детали. – Josiki