Better sliders

This commit is contained in:
Anuken
2021-07-12 12:36:45 -04:00
parent c94e7aa031
commit 4f98bc95a2
11 changed files with 31 additions and 28 deletions

View File

@@ -31,7 +31,7 @@ public class Styles{
public static ImageButtonStyle defaulti, nodei, righti, emptyi, emptytogglei, selecti, logici, geni, colori, accenti, cleari, clearFulli, clearPartiali, clearPartial2i, clearTogglei, clearTransi, clearToggleTransi, clearTogglePartiali;
public static ScrollPaneStyle defaultPane, horizontalPane, smallPane, nonePane;
public static KeybindDialog.KeybindDialogStyle defaultKeybindDialog;
public static SliderStyle defaultSlider, vSlider;
public static SliderStyle defaultSlider;
public static LabelStyle defaultLabel, outlineLabel, techLabel;
public static TextFieldStyle defaultField, nodeField, areaField, nodeArea;
public static CheckBoxStyle defaultCheck;
@@ -320,13 +320,7 @@ public class Styles{
}};
defaultSlider = new SliderStyle(){{
background = slider;
knob = sliderKnob;
knobOver = sliderKnobOver;
knobDown = sliderKnobDown;
}};
vSlider = new SliderStyle(){{
background = sliderVertical;
background = sliderBack;
knob = sliderKnob;
knobOver = sliderKnobOver;
knobDown = sliderKnobDown;

View File

@@ -6,6 +6,7 @@ import arc.func.*;
import arc.graphics.*;
import arc.graphics.Texture.*;
import arc.input.*;
import arc.scene.event.*;
import arc.scene.ui.*;
import arc.scene.ui.TextButton.*;
import arc.scene.ui.layout.*;
@@ -686,23 +687,21 @@ public class SettingsMenuDialog extends Dialog{
slider.setValue(settings.getInt(name));
Label label = new Label(title);
Label value = new Label("");
value.setStyle(Styles.outlineLabel);
value.touchable = Touchable.disabled;
slider.changed(() -> {
settings.put(name, (int)slider.getValue());
label.setText(title + ": " + sp.get((int)slider.getValue()));
value.setText(title + ": " + sp.get((int)slider.getValue()));
});
value.setAlignment(Align.center);
value.setWrap(true);
slider.change();
table.table(t -> {
t.left().defaults().left();
t.add(label).minWidth(label.getPrefWidth() / Scl.scl(1f) + 50);
if(Core.graphics.isPortrait()){
t.row();
}
t.add(slider).width(180);
}).left().padTop(3);
table.stack(slider, value).width(420f).left().padTop(4);
table.row();
}
}