Как синхронизировать содержимое одного представления в зависимости от положения прокрутки в родственном элементе ScrollView?
-
06-07-2019 - |
Вопрос
Я расширил LinearLayout (вертикальный) для создания собственного составного компонента.Это, в свою очередь, содержит двух детей:
- одно пользовательское представление, которое отображается непосредственно на холсте представления.
- один HorizontalScrollView->LinearView(Horizontal)->Несколько пользовательских представлений.
Теперь я хотел бы перерисовать настраиваемое представление, соответствующее видимому содержимому представления прокрутки.Причина этого в том, что длинный массив пользовательских компонентов в представлении прокрутки в основном статичен и подходит для рисования заранее, в то время как вид сверху должен быть очень динамичным и относиться ко всему, что видно в представлении прокрутки.
Надеюсь, я объяснил проблему/идею более-менее ясно.Я совсем не уверен, что это лучший подход, и мне было бы приятно услышать любые предложения по альтернативным решениям или, возможно, некоторые идеи о том, как запускать событие перерисовки каждый раз, когда положение прокрутки изменяется в HorizontalScrollView.
Благодарить!
Решение
Вы можете настроить прослушивание адаптера просмотра прокрутки.в адаптере, когда меняется положение прокрутки, вы выполняете делегат в действии.Таким образом, действие может обновлять остальные представления при изменении представления прокрутки.