У меня есть макет, который включает SwipeRefreshLayout, ScrollView и ViewPager.ViewPager внутри ScrollView внутри SwipeRefreshLayout
SwipeRefreshLayout используется для обновления ViewPager, а ScrollView - потому, что ViewPager может иметь контент, который не подходит для отображения.
Когда я пытаюсь прокрутить вниз, ничего не происходит, но я вижу, что есть больше контента для показа. Когда я прокручиваю вверх, вызывается SwipeRefresh.
Мой XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="${relativePackage}.${activityClass}" >
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
style="@style/TabLayout"
android:paddingEnd="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingStart="16dp" />
<com.gmail.bathingrad.school.widget.SwipeRefreshView
android:id="@+id/refresh"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</com.gmail.bathingrad.school.widget.SwipeRefreshView>
</LinearLayout>
Скриншот как это выглядит (последний фиолетовый ящик находится вне экрана): http://i.stack.imgur.com/hlrdz.png
Edit: После некоторых исследований я обнаружил, что проблема из-за того, что ScrollView не знает высоту самого большого элемента в ViewPager. Я ищу способ изменить высоту ViewPager динамически.
https://androidbeasts.wordpress.com/2015/08/11/tabs-with-swipe-views/#more-79 – Aakash