Я использую:
- Макет действий, содержащий фрагмент, добавленный программно.
- Родительский фрагмент имеет
FragmentStatePagerAdapter
с пейджером представления. Все содержимое находится внутриScrollView
. - Просмотр пейджера заполняется некоторыми дочерними фрагментами, которые имеют Recyclerview.
Проблемы:
- Просмотр фрагмента пейджера имеет список, поэтому я должен программно установить высоту пейджера родительского представления. Но я не могу этого сделать.
Для этого я использовал
viewpager.getLayoutParams().height = 20000;
viewpager.requestLayout();`
и
ViewGroup.LayoutParams params = viewPagerBottom.getLayoutParams();
params.height = 20000;
viewPagerBottom.setLayoutParams(params);
Кроме того, я попробовал просмотр пейджера и просмотрел свойство высоты фрагментов пейджера как wrap_content
- Невозможно просмотреть содержимое пейджера, если я не устанавливаю scrollview
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>