У меня проблемы с работой панели прокрутки libgdxs. В приведенном ниже коде показана настройка элемента управления для простого макета с меткой, списком элементов внутри области прокрутки и кнопкой. Проблема в том, что моя панель прокрутки не показывает ничего, кроме девятого патча vScroll/vScrollKnob (этот крошечный белый квадрат), он выглядит так:
private void setupLayout()
{
String[] listEntries = {"1","2","3","4","5"};
ListStyle listStyle = new ListStyle();
NinePatch example = new NinePatch(new Texture(Gdx.files.internal("data/example.9.png")));
listStyle.selectedPatch = example;
listStyle.font = new BitmapFont();
mList = new List(listEntries,listStyle);
ScrollPaneStyle paneStyle = new ScrollPaneStyle();
paneStyle.vScroll = example;
paneStyle.vScrollKnob = example;
mListScroll = new ScrollPane(mList,paneStyle);
mListScroll.setScrollingDisabled(true, false);
mListScroll.width = 500;
mListScroll.height = 500;
LabelStyle ls = new LabelStyle();
ls.font = new BitmapFont();
ls.fontColor = new Color(1.0f, 1.0f, 1.0f, 1.0f);
mLabel = new Label("Label", ls);
TextButtonStyle buttonStyle = new TextButtonStyle();
buttonStyle.font = new BitmapFont();
mButton = new TextButton("Button",buttonStyle);
Table table = new Table();
table.add(mLabel);
table.row();
table.add(mButton);
table.row();
table.add(mListScroll);
mStage.addActor(table);
}
Он работает так, как ожидалось, если я не использую панель прокрутки и добавляю список непосредственно в таблицу следующим образом:
Table table = new Table();
table.add(mLabel);
table.row();
table.add(mButton);
table.row();
table.add(mList); //changed mListScroll(scrollpane class) to mList(List class)
mStage.addActor(table);
Но тогда он будет расширяться до нижней части моего экрана, когда элементов слишком много. Что я здесь делаю неправильно? Есть ли еще один параметр, который мне нужно установить на панели прокрутки?