android - 如何将 Android ViewPager2 的高度包装到当前项目的高度?

标签 android android-fragments android-viewpager android-viewpager2

这个问题是针对新的 ViewPager2 类(class)。

有一个similar question for the old ViewPager ,但解决方案需要扩展 浏览器 .但是, ViewPager2 是最终版本,因此无法扩展。

在我的情况下,我有一个包含三个不同 fragment 的 ViewPager2。其中一个 fragment 比其他两个 fragment 高得多,这意味着当您滑动到其中一个较短的 fragment 时,会有很多空白空间。那么如何有效地将 ViewPager2 包装到当前 fragment 的高度呢?

最佳答案

解决方案是在 ViewPager2 的每个 fragment 中添加以下内容:

override fun onResume() {
   super.onResume()
   binding.root.requestLayout()
}
binding.root来自 ViewBinding/DataBinding 但它是布局的主要容器,即 ConstraintLayout , LinearLayout , ETC。

关于android - 如何将 Android ViewPager2 的高度包装到当前项目的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57693490/

相关文章:

android - 无法在新 Activity 中传递对象数组

android - 在 ViewPager 上 float ViewPagerIndicator

android - viewpager 中的 3 个 android fragment ,如何让它们全部存活?

android - 我们可以在 android 中使用自动弹跳球吗

java - 如何在Android中将图像从drawable设置为imageview

java - 转到另一个选项卡时,选项卡式 android 应用程序崩溃(android -> java -> android studio)

java - ViewPager nullPointerException 错误

javascript - 如何在 iOS/Android 上的浏览​​器中检测从 sleep 中唤醒?

android - 设备振动不断重复

android - 从 Activity 访问 Fragment 中的 View 绑定(bind)