El deslizador siempre tiene el ancho predeterminado

[UPDATE] Me di cuenta de que un invalidate () sería bueno, pero no cambió algo! Así que poner en todo el optionlayout con la creación de la tabla y el control deslizante + etiquetas. El backbutton es simplemente un textbutton agregado al final de la tabla. Sé que es un código largo, pero parece ser necesario.

He creado un control deslizante como este, ya que sé que el ancho mínimo del fondo se utiliza para el ancho del deslizador:

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); } 

Está dentro de una mesa sin ancho o tal. Ya he echado un vistazo si el ancho es sett y si el cálculo para el prefWidth del control deslizante toma mi 600.

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

Este es el cálculo para el ancho del control deslizante dentro de la Sliderclass. Si calculo eso y lo registro, consigo el 600.
Todo me parece correcto, pero el control deslizante es muy pequeño para el 600 i sett.
Fondo y knobtextures son 24×24.
Así que espero que ustedes puedan decirme lo que estoy haciendo mal. Silder

Encontré la solución.
Su dentro de una tabla por lo que el ancho se define por el attibut de la anchura de la tabla para la especificación. Col y fila.
Así que la solución es preaty corto.

 table.add(volumenSlider).width(600).height(60); 

Y su 600width y 60 altura.


Que acaba de añadir el wiki por lo que es más claro!

Los widgets de interfaz de usuario no establecen su propio tamaño y posición. En su lugar, el widget padre define el tamaño y la posición de cada niño. Los widgets proporcionan un tamaño mínimo, preferido y máximo que el padre puede utilizar como sugerencias. Algunos widgets de padres, como Table, pueden tener restricciones sobre cómo clasificar y posicionar a los niños. Para dar a un widget un tamaño específico en un diseño, el tamaño mínimo, preferido y máximo del widget se deja solo y las restricciones de tamaño se establecen en el elemento principal.

Diseño en Wiki

Espero que le ayude a solucionar algunos problemas también.
Saludos

 speedSlider.getStyle().knob.setMinHeight(100) 
  • ¿Cómo implementar diferentes eventos mediante un solo toque y doble toque en libgdx?
  • Cambiar el identificador del paquete del juego libGDX
  • ¿Hay algún motor de juego 2D mejor que Libgdx?
  • Libgdx para Android muestra negro antes de la pantalla principal
  • LinearLayout analógico dentro de la tabla en LibGDX
  • Servicios de juegos de Google Play Configuración del proyecto LibGDX con los últimos juegos de BaseGameUtils
  • Cómo configurar el modo retrato con libGDX?
  • Cómo ajustar el tamaño de los desplegables de azulejos
  • Mantenga la pantalla encendida durante el juego de Android sin la interacción del usuario
  • LibGDX y ScrollPane con múltiples widgets
  • Puerto Andengine juego a otra plataforma?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.