Горизонтальная прокруткаПолностью прокрутите фокусировку вправо с помощью ViewTreeObserver - PullRequest
0 голосов
/ 23 февраля 2012

Я добавляю объекты в горизонтальную прокрутку динамически, и когда я добавляю приведенный ниже код, он прекрасно работает для перемещения вправо, теперь проблема заключается в том, что когда я пытаюсь прокрутить назад влево с помощью перестановки пальца, код, приведенный ниже, снова запускается и горизонтальный scrollview прокручивает снова в правый угол, это немного раздражает, у кого-нибудь есть альтернативное решение, я пробовал

Postdelayed ()

но у меня он не работает должным образом

ViewTreeObserver viewTreeObserver = hScrollView.getViewTreeObserver();
        if (viewTreeObserver.isAlive()) {
            viewTreeObserver
                    .addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
                        @Override
                        public void onGlobalLayout() {
                            // interestedInView is ready for size and position
                            // queries because it has been laid out
                            hScrollView
                                    .fullScroll(HorizontalScrollView.FOCUS_RIGHT);
                        }
                    });
        }

С уважением MGD

1 Ответ

0 голосов
/ 16 мая 2012

есть ли в вашем компоновщике раскладка, чтобы прокручивать ваше представление вправо при создании прокрутки?Если это так, то вам следует удалить прослушиватель событий внутри функции onGlobalLayout, в противном случае он будет прокручиваться вправо всякий раз, когда выкладывается.

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