Android: просмотр страниц с перемещением влево или вправо - PullRequest
3 голосов
/ 02 июля 2011

У меня проблема с достижением эффекта sertant в приложении, над которым я сейчас работаю. Senario что-то вроде этого

В моем первом упражнении я отображаю список, и после щелчка по элементу я отображаю новое действие, в котором содержится более подробная информация об этом элементе.

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

У меня есть адаптер для предметов, поэтому не сложно получить информацию о том, какой предмет показан и что такое «братья и сестры»

Я играл с флиппером вида, но, насколько я могу видеть, ему нужны «представления», отображаемые в стумике видоискателя, и я не смею рендерить 300 элементов на Create. любые советы по использованию 3 представлений и заполнить их наСоздать ??

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

Есть идеи?

если вы хотите видеть только ту анимацию / функцию, которую я хочу. Перейдите на страницу широты Google на странице друзей.

// Спасибо за продвинутый

Ответы [ 2 ]

5 голосов
/ 02 июля 2011

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

Вот снимок того, что я делал.Это не совсем то, что вы хотели, но вы можете придерживаться того же подхода.

/**
     * starts a new activity.
     * @param activityToStart the activity class.
     */
    public static void startActivity(Class<?> activityToStart) {
        String name = activityToStart.getName();
        while (history.contains(name)) {
            name += "1";
        }

        View view = activity.getLocalActivityManager().startActivity(name,
                new Intent(activity, activityToStart)).getDecorView();

        history.add(name);
        addView(view, name);
    }

     public void addView(View newView, String name) {
    // add its name to the history.
    history.add(name);
    // change the view.
    flipper.addView(newView);
    if(history.size() != 1) {
        flipper.setInAnimation(inFromUpAnimation());

        View oldView = getActivityAt(history.size() - 2);
        flipper.setOutAnimation(outFromBottomAnimation());
        flipper.showNext();
    }
}

private void back() {
   if(history.size() > 1) {
       View oldView = getActivityAt(history.size() - 1);
       flipper.setInAnimation(inFromBottomAnimation());
       setRemoveAnimation(oldView, outToUpAnimation(), history.remove(history.size() - 1));
       flipper.showPrevious();
   } else {
       finish();
   }
}

Здесь у меня есть 3 функции (чтобы начать новое действие в вашем случае, вы можете изменить его, чтобы раздуть представление, еслиВы хотите, второе, которое добавляет представление, третье, чтобы удалить представление, когда пользователь наносит ответный удар).

Надеюсь, это поможет!

3 голосов
/ 18 июля 2011

Альтернативным решением является использование нового компонента ViewPager из пакета совместимости с Android .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...