Синхронизируйте положение двух представлений ScrollView

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

Я создал пользовательский класс, который расширяет RelativeLayout для отображения руководства. Это относительное расположение имеет четырех детей: imageview в верхнем левом углу, HorizontalScrollView для отображения заголовков столбцов в верхнем правом, ScrollView для отображения заголовков строки, внизу оставленных, и ScrollView в нижнем правом, которое содержит списки. Этот ScrollView затем содержит HorizontalScrollView, который в свою очередь содержит LinearLayout с несколькими дочерними представлениями, которые отображают данные. Я надеюсь, что это объясняет это ясно, но здесь является схемой для создания этого более ясным:

 ____________
|__|___hsv___|
|  |         |
|  | sv ->   |
|  |  hsv -> |
|sv|   ll -> |
|  |    etc  |
|  |         |
|__|_________|

Я настроил его как это, потому что я хотел, чтобы списки руководств прокрутили и горизонтально и вертикально, но нет никакого представления прокрутки, которое делает это. Кроме того, я хочу, чтобы строка и заголовки столбцов отобразили, в каком положении списки руководств, но я хочу, чтобы они были выстроены в линию правильно. Таким образом, я пытаюсь найти способ синхронизировать положения двух hsv's и также синхронизировать положения двух sv's. Я также пытаюсь сделать это способом, который старается не просто выполнять обработчик каждые несколько миллисекунд, чтобы опросить одно представление и обратиться к scrollTo другой.

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

6
задан Billy 20 March 2010 в 01:26
поделиться

2 ответа

Не стоит ли реализовать onTouchEvent(MotionEvent me) во всех ваших панелях? Когда одна из ваших панелей прокручивается, вызывается этот метод, и он может обеспечить синхронизацию всех остальных.

1
ответ дан 17 December 2019 в 18:13
поделиться

Обработка событий касания не работает на 100%. Количество прокруток в разных представлениях может не всегда синхронизироваться.

1
ответ дан 17 December 2019 в 18:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: