Intereting Posts
Рисование пальцами Отказался от загрузки сценария, поскольку он нарушает следующую политику политики безопасности контента Отменить ProgressDialog и остановить поток Адаптер Android Gallery с MultiTouch? Пользовательская галерея или пользовательский ImageView? Представления, наложенные выше YouTubePlayerFragment или YouTubePlayerView в иерархии компоновки, приводят к немедленному приостановке воспроизведения Android-навигатор для переключения курсора вправо Android: Как вы скрываете вкладки в ActionBar? Как открыть файл .db. Файл .db создается из формы eclipse (android) DDMS -> File explorer -> data —> data -> packagename -> database …? Отправьте файл PDF в виде приложения «Почта» или «Приложение», чтобы напрямую просмотреть файл Запрос и разрешение WRITE_EXTERNAL_STORAGE во время выполнения не влияет на текущий сеанс Отладка Android InetAddress.isReachable GridLayout из библиотеки поддержки не показывает 2 строки на Android 2, onChildVisibilityChanged Error Может ли Android-браузер выполнять преобразование xsl? Как предотвратить множественные экземпляры активности при ее запуске с разными намерениями Android: повторное использование встроенных представлений в gridview

LibGDX и ScrollPane с несколькими виджетами

Пытаясь добавить несколько элементов в scrollpane, я быстро обнаружил, что все функции «addActor» не поддерживаются. Итак, я пошел с добавлением таблицы со всеми предметами, которые я хотел (этот код пропускает изображение, которое я все еще хочу добавить), чтобы сделать прокручиваемый экран кредитов … но этот подход (в настоящее время) не позволяет переполнения, рендеринга ScrollPane бесполезен. (Мой текст отображается только для того, что позволяет высота экрана, и не прокручивается). Каким образом можно создать прокручиваемую панель с несколькими виджетами в LibGDX? (На данный момент меня интересуют только платформы Android и Win / Lin / Mac.

pane = new ScrollPane(null, skin); pane.setFillParent(true); paneContent = new Table(skin); paneContent.setFillParent(true); Label temp = new Label("", skin); temp.setAlignment(Align.left, Align.center); temp.setText( Gdx.files.internal("licenses/credits.txt").readString("UTF-8") ); paneContent.addActor(temp); pane.setWidget(paneContent); stage.addActor(pane); 

Если вы хотите поместить несколько элементов в ScrollPane, вам просто нужно поместить в него таблицу и вызвать add () для каждого виджета, который вы хотите поместить в ScrollPane.

Ниже приведен пример того, как сделать ваши кредиты прокручиваемыми:

 public class ScrollTest implements ApplicationListener { private Stage stage; private static final String reallyLongString = "This\nIs\nA\nReally\nLong\nString\nThat\nHas\nLots\nOf\nLines\nAnd\nRepeats.\n" + "This\nIs\nA\nReally\nLong\nString\nThat\nHas\nLots\nOf\nLines\nAnd\nRepeats.\n" + "This\nIs\nA\nReally\nLong\nString\nThat\nHas\nLots\nOf\nLines\nAnd\nRepeats.\n"; @Override public void create() { this.stage = new Stage(); Gdx.input.setInputProcessor(this.stage); final Skin skin = new Skin(Gdx.files.internal("skin/uiskin.json")); final Label text = new Label(reallyLongString, skin); text.setAlignment(Align.center); text.setWrap(true); final Label text2 = new Label("This is a short string!", skin); text2.setAlignment(Align.center); text2.setWrap(true); final Label text3 = new Label(reallyLongString, skin); text3.setAlignment(Align.center); text3.setWrap(true); final Table scrollTable = new Table(); scrollTable.add(text); scrollTable.row(); scrollTable.add(text2); scrollTable.row(); scrollTable.add(text3); final ScrollPane scroller = new ScrollPane(scrollTable); final Table table = new Table(); table.setFillParent(true); table.add(scroller).fill().expand(); this.stage.addActor(table); } @Override public void render() { this.stage.act(); Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); this.stage.draw(); } @Override public void resize(final int width, final int height) {} @Override public void pause() {} @Override public void resume() {} @Override public void dispose() {} } 

Изменить: добавлен код при настройке таблицы внутри ScrollPane.