当前位置: 首页 > 知识库问答 >
问题:

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

司徒瀚
2023-03-14

此问题针对新的ViewPager2类。

旧的ViewPager也有类似的问题,但解决方案需要扩展ViewPager。但是,ViewPager2是最终版本,因此无法扩展。

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

共有3个答案

潘琪
2023-03-14

我也有同样的问题,ViewPager2在ScrollView中,它位于TableLayout下。在选项卡中导航后,ScrollView的高度等于最大片段高度的高度。通过将ScrollView传输到片段解决了这个问题。

劳灵均
2023-03-14

我对这个解决方法一点也不满意,但它确实解决了我在尝试使用ViewPager2和不同高度的片段时遇到的渲染问题。它显然会减慢渲染速度并消耗更多内存。

myStupidViewPager2.offscreenPageLimit = fragments.size
戚阳
2023-03-14

解决方案是在作为ViewPage2一部分的每个片段中添加以下内容:

override fun onResume() {
   super.onResume()
   binding.root.requestLayout()
}

<代码>绑定。根目录来自视图绑定/数据绑定,但它是布局的主要容器,即约束布局、线性布局等。

 类似资料:
  • 我的回收物品在onCreateViewHolder中膨胀 我想展示这样的东西,其中一排的高度是回收站视图的一半?在空间的其余部分添加填充物?我可以通过GridLayoutManager来完成吗? 这是我的GridLayoutManager

  • 问题内容: 我想使一个组件占据Container的maximumAvailableHeight。例如,在下面粘贴的代码中,我将根框架定为800,600。我只想设置该框架的高度/宽度(并且我不想尝试对其子像素进行像素化)。如果运行此命令,则会看到UI对齐不良。 首先,我希望面板(位于根框架内)占据框架的100%的高度(在这种情况下,为800px减去用于绘制框架标题的空间)。 其次,在面板内部,我有一

  • 问题内容: 在下面的代码中,我希望带有“ y”的div将div的高度与3个“ x”相匹配。 需要注意的是内部div是浮动的。 问题答案: 如果您不反对使用jQuery,可以使用EqualHeight,它应该做您想要的

  • 我正在为我的项目使用 iTextPDF 免费标记。基本上,我使用免费标记加载并填充一个HTML模板,然后使用iTextPDF的将其呈现为PDF。 模板是: 这是我的代码: 这段代码运行良好,但是固定高度是一个问题。 即假设: 生成的文档是: 相反,如果我用 生成的文档是: 如你所见,在最后一份文件中,我有两页。我希望只有一个页面,它根据内容的高度改变其高度。 iText有可能实现这样的事情吗?

  • 我想要达到的目标 项目视图应占据项目的整个高度 可能是项目的高度小于回收视图中最高项目的高度,在这种情况下,它应该像上面的截图一样粘在顶部。 我遇到的虫子 正如上面的截图所示,视图正在被截断。 到目前为止我都试过了 起初,我在回收视图上使用wrap_content,现在它得到了支持。当当时屏幕上可见的视图都不是最高的时,它就不起作用了。这在视图层次结构的布局中是有意义的。如果高度依赖于任何数据,那

  • 问题内容: 我的页面结构为: 现在,DIV将具有更多内容,因此DIV的高度将根据子DIV的增加而增加。 但是问题是身高没有增加。如何使它的高度等于父代的高度? 问题答案: 对于元素,添加以下属性: 然后针对这些: