Android ScrollView: автоматически прокручивается на несколько пикселей (провалы) над определенным видом - PullRequest
3 голосов
/ 21 января 2011

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

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

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

1 Ответ

3 голосов
/ 21 января 2011

С помощью View.requestRectangleOnScreen () вы можете прокрутить, чтобы показать конкретный прямоугольник (связанный метод позволяет отключить анимацию). Вам все еще придется вычислять этот прямоугольник, но как только у вас будет позиция конкретного дочернего элемента (вашего заголовка), вы можете легко это сделать, получив размер ScrollView. Вы можете учесть небольшое смещение, которое вы хотите при вычислении этого прямоугольника, или просто сделать scrollBy() после requestRec....() (первый способ лучше, я думаю).

Простой способ использовать измерение, не зависящее от плотности, - определить его в xml как ресурс измерения .

- редактировать: вы получаете позицию ребенка в родительском с getLeft() / getTop().

...