【发布时间】:2020-09-07 13:30:08
【问题描述】:
我使用ViewPager2 来显示 3 个适配器项。每个项都有不同的布局。所以viwepager2的高度应该在更改viewpager2的标签时调整大小。
请为Viewpager2 提出解决方案。
【问题讨论】:
标签: android android-viewpager2
我使用ViewPager2 来显示 3 个适配器项。每个项都有不同的布局。所以viwepager2的高度应该在更改viewpager2的标签时调整大小。
请为Viewpager2 提出解决方案。
【问题讨论】:
标签: android android-viewpager2
我实现了类似的目标
private fun updatePagerHeightForChild(view: View, pager: ViewPager2) {
view.post {
val wMeasureSpec = View.MeasureSpec.makeMeasureSpec(view.width, View.MeasureSpec.EXACTLY)
val hMeasureSpec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)
view.measure(wMeasureSpec, hMeasureSpec)
pager.layoutParams = (pager.layoutParams).also { lp -> lp.height = view.measuredHeight }
pager.invalidate()
}
}
使用下面的sn-p获取当前页面view:
viewPager2.setPageTransformer { page, position ->
updatePagerHeightForChild(page, viewPager2)
}
【讨论】: