переключение видоискателя - PullRequest
2 голосов
/ 26 января 2012

У меня есть видоискатель и две кнопки «следующий» и «предыдущий» за пределами видоискателя.Я хочу, чтобы viewflipper показывал следующий фон при нажатии «next» и предыдущий фон при нажатии «previous».Как я могу это сделать?

Ответы [ 4 ]

5 голосов
/ 26 января 2012

Есть две техники для достижения ваших требований.

1. Использование showPrevious и showNext методов класса ViewFlipper . Одна вещь, которую вы должны знать об этих методах, это непрерывный вызов любого метода, он начнет отображать своих детей в порядке возрастания для showNext и в порядке убывания для showPrevious .

Пример: View flipper имеет 4 дочерних элемента, скажем 0, 1, 2, 3. Первоначально он будет отображать первый элемент, то есть дочерний элемент 0. Теперь, если вы вызывали showNext 6 раз непрерывно, он начинает отображать 1, 2, 3, 0, 1, 2. Таким образом, наконец, будет отображаться дочерний элемент 2. Та же процедура в порядке убывания для shoePrevious также.

2. Используйте метод setDisplayedChild для отображения определенного дочернего элемента, включенного в ViewFlipper.

Пример. Представление может отображаться как показано ниже в файле макета XML

<ViewFlipper android:id="@+id/flipper"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
    <include android:id="@+id/first"  layout="@layout/first_view" />
    <include android:id="@+id/second"  layout="@layout/second_view" />
</ViewFlipper>

Для отображения первого ребенка вы можете использовать setDisplayedChild двумя способами.

call setDisplayedChild(R.id.first); или setDisplayedChild(0); означает, что вы можете использовать Id потомка в ViewFlipper или положение потомка в ViewFlipper.

Таким образом, в зависимости от фактических требований, решите, какой метод подходит.

Надеюсь, вы понимаете это.

2 голосов
/ 26 января 2012

вам нужно сделать следующее:

nextButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

            viewFlipper.showNext();
        }
    });
}

и то же самое для предыдущей кнопки.

2 голосов
/ 26 января 2012

С помощью viewFlipper.showPrevious () и viewFlipper.showNext () вы можете сделать это.

0 голосов
/ 26 января 2012

Вы можете вызывать yourViewFlipper.showNext() или yourViewFlipper.showPrevious() в следующих и предыдущих обработчиках нажатий кнопок.

...