Der Schieberegler hat immer die Standardbreite

[UPDATE] Mir ist aufgefallen, dass ein invalidate () gut wäre, aber es hat nichts geändert! Also habe ich das gesamte Optionslayout mit der Erstellung der Tabelle und den Schiebereglern + Beschriftungen eingefügt. Die Schaltfläche "Zurück" ist lediglich eine Textschaltfläche, die am Ende der Tabelle hinzugefügt wird. Ich weiß, es ist ein langer Code, aber ich scheint gebraucht zu werden.

Ich habe einen Slider wie diesen erstellt, da ich weiß, dass die minimale Breite des Hintergrunds für die Slider-Breite verwendet wird:

public OptionScreen(MainClass game) {
    super(game);
    preference = new PreferencesHelper();
    font = this.getDefaultFont(25);
    this.table = new Table();
    if (Config.DEBUG)
        this.table.debug();

    // add volumenlabel
    LabelStyle style = new LabelStyle(font, Color.WHITE);
    volumenLabel = new Label(Config.VOLUMEN_LABLE, style);
    table.add(volumenLabel).colspan(2);
    table.row();
    // add slider
    Skin skin = new Skin();
    skin.add("sliderbackground",
            this.game.manager.get("data/sliderbackground.png"));
    skin.add("sliderknob", this.game.manager.get("data/sliderknob.png"));

    SliderStyle sliderStyle = new SliderStyle();
    sliderStyle.background = skin.getDrawable("sliderbackground");
    sliderStyle.background.setMinWidth(600f);
    sliderStyle.knob = skin.getDrawable("sliderknob");

    volumenSlider = new Slider(0f, 1f, 0.1f, false, sliderStyle);
    volumenSlider.setValue(preference.getVolumen()); // load current volumen
    volumenSlider.addListener(new ChangeListener() {

        @Override
        public void changed(ChangeEvent event, Actor actor) {
            volumeValue.setText(String.format("%.01f",
                    volumenSlider.getValue()));
            // sett the preference
            preference.setVolumen(volumenSlider.getValue());
        }
    });
    // add volslider to stage
    table.add(volumenSlider);
    volumenLabel.invalidate();

    // table
    style = new LabelStyle(font, Color.WHITE);
    // set current volumen
    volumeValue = new Label(
            String.format("%.01f", volumenSlider.getValue()), style);
    volumenLabel.setAlignment(2);
    table.add(volumeValue).width(50f);
    table.row();

    initBackButton();

    // init table
    table.setPosition(Config.VIRTUAL_VIEW_WIDTH / 2,
            Config.VIRTUAL_VIEW_HEIGHT / 2 - Config.BLOCK_SIZE * 10);

    // add a nice fadeIn to the whole table :)
    table.setColor(0, 0, 0, 0f);
    table.addAction(Actions.fadeIn(2f)); // alpha fade
    table.addAction(Actions.moveTo(Config.VIRTUAL_VIEW_WIDTH / 2,
            Config.VIRTUAL_VIEW_HEIGHT / 2, 2f)); // move to center of the
                                                    // screen
    // add to stage
    this.stage.addActor(table);
}

Es ist in einem Tisch ohne Breite oder so. Ich habe bereits nachgesehen, ob die Breite festgelegt ist und ob die Berechnung für die PrefWidth des Schiebereglers meinen 600er benötigt.

Math.max(style.knob == null ? 0 : style.knob.getMinWidth(), style.background.getMinWidth())

Dies ist die Berechnung für die Breite des Schiebereglers innerhalb der Sliderclass. Wenn ich das berechne und es aufzeichne, bekomme ich die 600.
Alles scheint mir in Ordnung zu sein, aber der Schieberegler ist für den 600 i sett viel zu klein.
Hintergrund und Knob-Texturen sind 24x24.
Ich hoffe, ihr könnt mir sagen, was ich falsch mache.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage