Это похоже на ежу понятно, но почему-то я застрял. Представление не позволит мне прокручивать его. Как будто высота фрагмента, надутого в ViewPager
, не рассчитывается. Поиск SO предполагает, что мне нужно написать свой собственный ViewPager
и переопределить onMeasure()
, но я не могу поверить, что мне придется зайти так далеко для чего-то такого простого, как это.
Вот мой макет, несколько упрощенный для удобства. ViewPager
заполнен фрагментами, занимающими пространство далеко за пределами экрана (по вертикали). Тем не менее, ничего на экране не прокручивается. Почему это?
<ScrollView
android:id="@+id/scroll_view"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/header_image_view"
android:layout_width="0dp"
android:layout_height="170dp"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/title_text_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/header_image_view"/>
<Button
android:id="@+id/resume_training_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/title_text_view"/>
<android.support.design.widget.TabLayout
android:id="@+id/lesson_table_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
app:layout_constraintTop_toBottomOf="@id/resume_training_button">
</android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/lesson_table_layout">
</android.support.v4.view.ViewPager>
</android.support.constraint.ConstraintLayout>
</ScrollView>
Вот пример просмотра. Текст Lorem ipsum продолжается долго, и я ожидаю, что весь экран будет прокручиваться, но это не так.
Заранее спасибо!