Я использую:
- Макет
activity
, содержащийfragment
, добавленный программно. - Родительский фрагмент имеет
FragmentStatePagerAdapter
с пейджером просмотра. Все это содержимое находится внутриScrollView
. - Пейджер просмотра заполнен некоторыми дочерними фрагментами, у которых есть Recyclerview.
Проблемы следующие:
- Фрагмент пейджера просмотра имеет список, поэтому мне нужно программно установить высоту пейджера родительского вида. Но я не могу этого сделать.
Для этого я использовал
viewpager.getLayoutParams().height = 20000;
viewpager.requestLayout();`
и
ViewGroup.LayoutParams params = viewPagerBottom.getLayoutParams();
params.height = 20000;
viewPagerBottom.setLayoutParams(params);
Кроме того, я пробовал просматривать пейджер и просматривать свойство высоты фрагментов пейджера как wrap_content
- Не отображается содержимое пейджера просмотра, если я не установил режим прокрутки
android:layout_height="match_parent"
с помощьюandroid:fillViewport="true"
.
Это родительский фрагмент layout.xml.
<ScrollView
style="@style/scrollDefaultStyle"
android:layout_height="wrap_content"
android:fillViewport="true"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TabLayout .... />
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
</ScrollView>