Intereting Posts
Нарисуйте пузырь программно Добавление «emma» в триггеры сборки ant Antoid «исключение локального переменного типа» исключение Создайте две версии одного и того же приложения для Android и установите их на одном устройстве Непревзойденная дата: «пт 10 окт 23:11:07 IST 2014» (на оф-оф 20) Каков максимальный допустимый путь к файлу в Android Джерси-клиент на Android – NullPointerException Андроид – имя пользователя ввода текста не работает AlertDialog.Builder с настраиваемым макетом и EditText; Не может получить доступ к представлению Установите ширину пользовательского InfoWindow в Google Maps api v2 Пример растрового образа Java.lang.SecurityException: ни пользователь 10032, ни текущий процесс не имеют android.permission.MODIFY_PHONE_STATE Запустите еще одну AsyncTask в onPostExecute () Кнопка Button = findViewById (R.id.button) всегда разрешает null в Android Studio Проблемы с сохранением коллекции с использованием ORMLite на Android Как узнать состояние ввода в XMPP openfire с помощью Smack

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.