2013-06-17 5 views
0

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

enter image description here

enter image description here

По щелчку конкретного изображения я хотел бы, чтобы прокрутить строку самой верхней позиции в окне прокрутки. Напр. на изображении выше H & R щелкнул, я бы хотел, чтобы он появился в верхней части экрана, чтобы пользователь мог полностью прочитать содержимое. Моя идея состояла в том, чтобы получить все позиции Linear layouts в представлении прокрутки при создании представлений и прокрутить до выбранной строки так, чтобы она отображалась сверху. Я попробовал

getLocationOnScreen(location); 
view.getTop() 

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

ответ

1

Я решил, загрузив расположение каждой строки и когда пользователь нажимает на конкретной строке я прокручивать к месту, как показано в коде ниже

scrollView.post(new Runnable() { 
        @Override 
        public void run() { 
        scrollView.scrollTo(0, locationCorrespondingToTheSelectedRow)); 
        } 
        }); 

Не самый лучший способ сделать это, но в моем случае, поскольку экран является статическим жестким кодированием, местоположение не было проблемой.

Смежные вопросы