每个项目的动态 ViewPager2 高度计算

Pra*_*jal 0 android android-viewpager2

我正在使用ViewPager2用于显示 3 个适配器项目.. 每个项目都有不同的布局。所以viwepager2在更改viewpager2.

请为Viewpager2.

Bla*_*elt 5

我用

    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()
            }
    }
Run Code Online (Sandbox Code Playgroud)

view使用以下代码段获取当前页面:

    viewPager2.setPageTransformer { page, position ->
        updatePagerHeightForChild(page, viewPager2)
    }
Run Code Online (Sandbox Code Playgroud)