0

У меня есть ViewPager, содержимое которого определяется временем выполнения. Размер содержимого может быть больше, чем размеры экрана, поэтому я подумал о том, что ViewPager внутри NestedScrollView (который позволяет осуществлять вертикальную прокрутку), который находится внутри HorizontalScrollView (который позволяет выполнять горизонтальную прокрутку). Это решает проблему подгонки содержимого, но я не могу прокручивать вкладки ViewPager - возможно, ViewPager больше не получает горизонтальные свитки.Как прокручивать ViewPager как по горизонтали, так и по вертикали в Android?

Например, в сценарии, когда ширина содержимого больше, чем ширина экрана, моя первоначальная прокрутка должна сначала прокручиваться до конца ребер контента, а затем загружаться новый контент из FragmentAdapter. Но с вложенным подходом scrollview я не могу загрузить следующий элемент из FragmentAdapter.

Мой код:

<HorizontalScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

    <android.support.v4.widget.NestedScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

      <android.support.v4.view.ViewPager 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" /> 

     </RelativeLayout> 

    </android.support.v4.widget.NestedScrollView> 
</HorizontalScrollView> 

Существует одна альтернатива этому подходу. Снимите внешний HorizontalScrollView и поместите содержимое FragmentAdapter ViewPager в HorizontalScrollView. Я еще должен попробовать это решение, но это привело бы меня к изменению и повторному тестированию всех существующих файлов макетов для FragmentAdapter.

+0

Использование ViewPager для горизонтального прокрутки. И используйте RecyclerView для реализации вертикального прокрутки внутри содержимого viewpager. –

+0

Что делать, если ширина и высота содержимого страницы просмотра больше, чем размер экрана? – SlowAndSteady

ответ

1

Вы можете использовать приведенные ниже ссылки. Хорошая реализация.

DoubleViewPager

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