Реализация полосы прокрутки в Libgdx - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь создать прокручиваемую таблицу в libgdx.Каждая строка имеет 4 столбца, и в зависимости от целого числа общее количество изображений в таблице увеличивается вместе со строками.

Я добавляю изображения в таблицу, которую я добавил в область прокрутки, и, наконец, панель прокрутки добавляется в другую.таблица, которая добавляется на сцену.

 private void setCards(int row, int columns, int wins) {

//This function adds images to the table

    int r ;
    if(wins%columns == 0)
        r=wins/columns;
    else
        r = wins/columns + 1;

    for (int j = 0; j < r; j++) {
        for (int i = 1; i <= columns; i++) {

            if (j * columns + i <= wins) {

                int k =j*columns+i;
                if(k>12)
                    k= (k%12) + 1;


                winningCard = new Texture(Gdx.files.internal("cards/winning_card" + String.valueOf(k)+ ".png"));
                Image image = new Image(winningCard);

                mTable.add(image).colspan(1).pad(10);
            }

            else {


                scoreCard = new Texture(Gdx.files.internal("cards/score_card.png"));
                Image background = new Image(scoreCard);

                mTable.add(background).colspan(1).pad(10);

            }

            mTable.pad(10);

        }
        mTable.row();
    }
}

После этого я добавляю таблицу в scrollpane

    mTable.setFillParent(true);
    pane = new ScrollPane(mTable);
    pane.setScrollingDisabled(true,false);
    pane.setScrollBarPositions(true,false);
    pane.setFillParent(true);
    pane.setClamp(true);
    table.add(pane);
    table.setFillParent(true);
    stage.addActor(table);

Проблема, с которой я сталкиваюсь, состоит в том, что есть много пустыхпространство, я должен прокрутить вниз, чтобы добраться до изображений.Я хочу, чтобы экран начинался с первого ряда.

1 Ответ

0 голосов
/ 29 мая 2018

Не используйте setFillParent (true) для таблицы внутри ScrollPane.Это вызывает ваши проблемы.

Если вы хотите расширить вашу таблицу до размера полосы прокрутки, используйте expand () / expandX () / expandY ().

...