Вот фрагмент кода, который у меня сейчас есть:
Код: Выделить всё
vscroll1.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
int stickyHeaderTop = linear_head.getTop();
FaFragmentAdapter adapter = (FaFragmentAdapter) viewpager1.getAdapter();
Fragment currentFragment = adapter.getFragment(viewpager1.getCurrentItem());
RecyclerView recyclerView = currentFragment.getView().findViewById(R.id.recyclerview1);
if (scrollY >= stickyHeaderTop) {
recyclerView.setLayoutFrozen(false); // Unfreeze RecyclerView when scrolled past header
} else {
recyclerView.setLayoutFrozen(true); // Freeze RecyclerView before header
}
}
});
Проблема:
При прокрутке RecyclerView в текущем фрагменте ViewPager2 перестает прокручиваться, как только мой вызывается функция: recyclerView.setLayoutFrozen(). Чтобы продолжить прокрутку, мне нужно отпустить нажатие и начать прокрутку снова.Вопросы:
- Как я могу продолжить прокрутку? плавная прокрутка в RecyclerView внутри ViewPager2 при вызове функций во время прокрутки?
Что я пробовал:
Использование setLayoutFrozen() для управления состоянием прокрутки RecyclerView и передайте прокрутку в recyclerview после того, как прокрутка достигнет нижнего уровня.Подробнее здесь: https://stackoverflow.com/questions/791 ... when-funct