【发布时间】:2020-04-21 22:52:34
【问题描述】:
我有一个 ViewPager2 有不同高度的片段作为孩子,加载数据后孩子的高度会发生变化
<com.google.android.material.appbar.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:expandedTitleGravity="top"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabs_header"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="@string/prospect_detail_tab_prospect" />
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="@string/prospect_detail_tab_influencers" />
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="@string/prospect_detail_tab_sales" />
</com.google.android.material.tabs.TabLayout>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/pager_header"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</com.google.android.material.appbar.CollapsingToolbarLayout>
我尝试了几种不同的解决方案,但如果 viewpager2 回到较小的片段,则没有任何效果可以调整其大小,它只是保持与最高片段相同的高度
【问题讨论】:
-
您到底尝试了什么?我的第一个想法是在页面更改时在 viewpager 上调用
requestLayout(),但我不知道它会如何工作。 -
请看here
-
当页面更改时,我确实在 viewpager 上尝试了 requestLayout(),但没有效果
标签: android